[IronPython] Embedding & Charsets
Michael Foord
fuzzyman at voidspace.org.uk
Wed Mar 25 21:03:13 CET 2009
Igor Elyas wrote:
> Ops
>
> Deep in code on returned value used Python str() function and looks like:
> str(self._reader.GetString(self._idx))
>
You can't call str on a string if it contains non-ascii characters. :-)
(and why would you need to...)
Michael
> That correct situation ?
>
> *From:* Igor Elyas <mailto:igor_elyas at hotmail.com>
> *Sent:* Wednesday, March 25, 2009 9:17 PM
> *To:* Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
> *Subject:* [IronPython] Embedding & Charsets
>
> Hello
>
> I'm use IronPython 2.0.1 as embedded interpreter for read data from
> database.
> Code for create Engine:
>
> fEngine = Python.CreateEngine();
> Ops = fEngine.CreateOperations();
> // core libs
> fEngine.Runtime.LoadAssembly(typeof(Decimal).Assembly);
>
> fEngine.Runtime.LoadAssembly(typeof(IValue).Assembly);
>
> // loading ADO.NET driver assemblies
> LoadAssemblies(from v in
> EtlBaseCfg.BaseCfg.Element("dlls").Elements("dll") select v.Value);
>
> After that, I use generated Ipy class for read one value from specific
> IDbDataReader:
>
> from ETL.Common.pipes import IValuePipe
> class SelectExtractor(IValuePipe):
> def __init__(self,adoreader,originId,storage):
> self._name = originId
> self._reader = adoreader
> self._idx = adoreader.GetOrdinal(self._name)
> self._transport = storage
> def Do(self, pydict):
> val = self._transport.Clone()
> if not self._reader.IsDBNull(self._idx):
> val.Data = self._reader.GetString(self._idx)
> if pydict.ContainsKey(self._name):
> pydict[self._name] = val
> else:
> pydict.Add(self._name,val)
>
> This operation return string with Russian symbols and I get
> Exception: "'ascii' codec can't decode byte 0 in position 0: ordinal
> not in range"
> How I can enable unicode .NET strings ?
> Looks like I not initialize IronPython correctly, because this code in
> Ipy console work fine with Russian charset (Russian Windows), but not
> sure about other charsets. I need use .NET unicode strings.
>
> Best regards
>
> Igor Elyas
>
> ------------------------------------------------------------------------
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
--
http://www.ironpythoninaction.com/
More information about the Ironpython-users
mailing list