WebLogic/WebSphere监控中常用到Jython,就想下一个学学,听说简单易用,结果刚开头就碰到问题了。具体见下:
E:\TEMP>jython -i Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06) [IBM J9 VM (IBM Corporation)] on java1.6.0 Type "help", "copyright", "credits" or "license" for more information. >>> print "hello" ... ... LookupError: unknown encoding 'ms936' E:\TEMP>jython -i Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06) [IBM J9 VM (IBM Corporation)] on java1.6.0 Type "help", "copyright", "credits" or "license" for more information. >>> if 1: LookupError: unknown encoding 'ms936'
两条很简单的命令:print没有正常返回;if命令直接出错退出Jython提示符了,怀疑Jython安装有问题。问问有经验的人,原来是本机字符和安装程序字符不一致导致。自学技术最怕这种属于知不知道范畴的东东了,瞎捉摸瞎搜索,最费时间了。先说解决方法吧:
E:\TEMP>chcp 437 Active code page: 437 E:\TEMP>jython -i Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06) [IBM J9 VM (IBM Corporation)] on java1.6.0 Type "help", "copyright", "credits" or "license" for more information. >>> print "hello" hello >>> quit()
延伸阅读:
what-encoding-code-page-is-cmd-exe-using
错误1:LookupError: unknown encoding 'gbk'
现象:一条简单的print没有正常返回,报上述错误,原来是本机字符和安装程序字符不一致导致。
解决:
>>> #_*_ coding: cp850
在jython2.5.3\registry 文件中,有这种配置,取消注释,就是设置控制台编码
# Setting this to a valid codec name will cause the console to use a different encoding when reading commands from the console.
#python.console.encoding = cp850
扩展:获取当前系统支持的编码列表
>>> import encodings
>>> encodings.aliases.aliases 列出所有支持编码集合
>>> for key in encodings.aliases.aliases.keys(): print "%-25s%-25s"%(key,encodings.aliases.aliases[key]) 分两
其中有这么几条:
936 gbk
utf8 utf_8
850 cp850
http://bbs.csdn.net/topics/390035497
#!/usr/bin/env python
# -*- coding: gbk -*-
提示错误:LookupError: unknown encoding 'gbk'
python是可以的,但是jython提示错误,这如何解决gbk 问题呢?
# -*- coding: gbk -*-
提示错误:LookupError: unknown encoding 'gbk'
python是可以的,但是jython提示错误,这如何解决gbk 问题呢?
在网上搜搜,两三年前就有人问这个问题了,从没有人回答.
从代码看,jython的gbk.py是从cpython拿来的,但它用到了一个c模块_codec_cn,在jython中没有相应的实现,所以jython中加载gbk.py会出错,导致lookup error.
用utf-8吧.
从代码看,jython的gbk.py是从cpython拿来的,但它用到了一个c模块_codec_cn,在jython中没有相应的实现,所以jython中加载gbk.py会出错,导致lookup error.
用utf-8吧.