|
From: Chris C. <Chr...@ac...> - 2012-01-31 16:51:57
|
The screen shot (rather than a copy/paste) was very useful. The good news is that I know what you want/are trying to do. You want to use the Microsoft CMD window to run console Jython scripts with a Chinese locale (cp936, see http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756%28v=vs.85%29.aspx and http://en.wikipedia.org/wiki/Code_page_936 ). The bad news is that it is not possible. The Microsoft CMD does NOT support UTF8, you simply can't use utf8 reliably in a CMD window. You really want cp936 support (to match the desktop locale settings) but Jython does NOT support CJK either (http://www.jython.org/faq3.html claims it would but it was not implemented, see http://bugs.jython.org/issue1066 for more info, the good news is that a future release should have something). I did knock up an NIO based codec (very simply it worked fine for Japanese, it would take 2 mins to make a cp936 one), there was no interest at the time, see http://article.gmane.org/gmane.comp.lang.jython.user/8665/match=jython+2.5.1+various+encodings+support+lookuperror+unknown The options as I see it are: * set the encoding to cp936 (which is what your desktop is using), and create a cp936 codec (based on my nio encoding experiment or some other mechanism, see last two options) * use jythonconsole (it looks cool, I've not had chance to play with it yet) with utf8, http://code.google.com/p/jythonconsole/ * use mintty, I've had mixed success (things work but CTRL-C behavior is odd) using this with utf8 applications under windows but I've not tried jython/java apps http://code.google.com/p/mintty/ * pay someone to add CJK support to the version of Jython you are using * add CJK support yourself to the version of Jython you are using Chris On 1/31/2012 2:48 AM, Sheng Qiang Xu wrote: > > Philip, > > Thanks for your reply. > I tried to force the encoding, but not work yet. > Here is what I tried. My OS Locale is Chinese. Before I forced the > encoding value, it is already utf-8. > > > Best Regards > -------------------- > Sean > > Inactive hide details for Philip Jenvey ---2012-01-31 11:47:30---On > Jan 17, 2012, at 7:17 PM, Sheng Qiang Xu wrote:Philip Jenvey > ---2012-01-31 11:47:30---On Jan 17, 2012, at 7:17 PM, Sheng Qiang Xu > wrote: > > *Philip Jenvey <pj...@un...>* > > 2012-01-31 11:47 > > > > To > > Sheng Qiang Xu/China/IBM@IBMCN > > cc > > jython-users users <jyt...@li...> > > Subject > > Re: [Jython-users] I can only input a character with > java.lang.System.console().readline() in Chinese or Japanese language > > > > > > On Jan 17, 2012, at 7:17 PM, Sheng Qiang Xu wrote: > > > I'm using jython 2.5.1 and my OS is windows XP and language is Chinese. > > > > When using java.lang.System.console().readline() to input text, I > can only input a character (the behavior seems like pressing enter) > and the console jumps to next line. > > > > Could somebody pls help to take a look at this? > > Thanks. > > You probably have an incorrect input encoding value set on your platform. > > You can see what Jython uses for its input encoding by looking at the > value of sys.stdin.encoding. You can try forcing it to say UTF-8 by > passing "-Dpython.console.encoding=UTF-8" to Jython > > -- > Philip Jenvey > |