Issue1674190

classification
Title: exec() destroys multibyte string
Type: Severity: normal
Components: Core Versions:
Milestone:
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: cgroves, nhiro, rajesh_battala
Priority: normal Keywords:

Created on 2007-03-05.16:02:54 by nhiro, last changed 2007-12-02.20:42:37 by cgroves.

Messages
msg1527 (view) Author: NISHIO Hirokazu (nhiro) Date: 2007-03-05.16:02:54
Hi, I'm Japanese.
assume XX is Japanese string and its code are u'\u3042'
YY is another one u'\u304b'.

exec() destroys this string to meanless bytes.

>>> exec("print [hex(ord(x)) for x in u'XX']")
['0x3f', '0x3f']
>>> exec("print [hex(ord(x)) for x in u'YY']")
['0x3f', '0x3f']

if I don't use multibyte string, It works well

>>> exec("print [hex(ord(x)) for x in u'\u3042']")
['0x3042']

and printing multibyte also works well

>>> print u"XX"
??
>>> print u"\u3042"
XX

so I think the bug is in parsing process of Jython code.
msg1528 (view) Author: rajesh battala (rajesh_battala) Date: 2007-07-23.04:50:01
hi nishio 
i will look at the bug and will let you about this as soon as possible
thanks
msg1529 (view) Author: Charlie Groves (cgroves) Date: 2007-12-02.20:42:37
This was fixed in 2.2.1
History
Date User Action Args
2007-03-05 16:02:54nhirocreate