java程序在linux系统下中文输出乱码,输出一个汉字对应一个问号

single_zyh 2012-09-09 10:31:32
linux输出问号问题:centos 5.6 64位系统,jdk1.6.0_10
昨天有一个问题搞了一整天没搞出来.
程序部署到linux系统下
rmsg = getXSdata(fixlen);
String strLink ="\r\n测试时间:"+getTime()+"\r\n"+ rmsg
rmsg的数据是查询数据库得到的。
数据库在linux下正常显示中文,只有程序中的汉字如:测试时间输出时显示问号,一个汉字对应一个问号。
起初一切都是正常的,第二天服务器重启就出现这个问题了。
我在/etc/profile文件中加入
export LC_ALL="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
export LANG="zh_CN.UTF-8"
export LANG="zh_CN.GB18030"
在/etc/sysconfig/i18n 中加入
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
我该设置该改的地方都改了,哪位大侠帮我看看,如何解决这个问题。

还有用程序远程连接上去返回的所有数据都是正常的,但是终端设备和telnet返回的数据是一个汉字对应一个问号
...全文
1227 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
NJPaul 2012-09-11
  • 打赏
  • 举报
回复
中文显示也可能是字体不支持的原因。
不过既然你数据库里中文显示是正常的,
可能就不是字体的原因。

仅提供一个排查的方向,实在搞不定再考虑这个吧。
歪嘴鱼 2012-09-11
  • 打赏
  • 举报
回复
是否有rcX.d启动脚本,如果有需要把环境变量加到启动脚本里。
辰岡墨竹 2012-09-10
  • 打赏
  • 举报
回复
不要LANG="zh_CN.GB18030"
只要LANG="zh_CN.UTF-8"
Linux默认的都是UTF-8编码,指定那个会更麻烦。
single_zyh 2012-09-09
  • 打赏
  • 举报
回复
这不是终端编码的问题
single_zyh 2012-09-09
  • 打赏
  • 举报
回复
但是linux系统下面显示的和telnet终端显示一样,只有程序输出的汉字是问号,其它的中文都是正常显示
qq120848369 2012-09-09
  • 打赏
  • 举报
回复
你终端编码没设置,大哥.

下个secureCRT,把终端编码改成utf8就可以了。

18,772

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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