jython中文编码问题

xiaoguangzaia 2014-05-13 11:45:30
最近想再java中调用python,遇到中文编码问题,具体如下:
java传递map<string, string> 给jython,jython中访问,代码如下:

if ‘你好’ in map:
return map['你好‘] + '我也好'

发现java中string是unicode编码,jython是utf8。导致在jython中访问 map['你好']时找不到
我就在java中转换了map存储格式,将map的key和value都转成utf8再传给jython比如<'你好’,‘你去哪’>
转换后jython中可以访问map['你好],但新的问题出来了
java中接受到返回值后发现 “我也好“这部分是正常的,但map['你好‘]对应的value是乱码

进一步发现如果return内容没有拼接map中的内容,则java获取的是乱码,如果拼接了则不是乱码
感觉是在拼接时会有编码转换,但对拼接map的部分没有转换导致最终出现两种编码

请教这种情况应该怎么解决?
注:不想在jython中每个中文字符前加u表示unicode编码
...全文
157 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,550

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧