当前位置: 技术问答>linux和unix
程序在linux下运行,所有中文都显示为“口 口”怎么办?
来源: 互联网 发布时间:2015-09-06
本文导语: java项目(窗体程序)打好包后,在linux下可以运行,但所有显示中文的地方都显示为“口 口”,并报告warning: warning:cannot convert string "-tlc-song-medium-r-normal-r-normal--*-140-*-*-c-*-gbk-0" to type FontStruct 已经用了locale ...
java项目(窗体程序)打好包后,在linux下可以运行,但所有显示中文的地方都显示为“口 口”,并报告warning:
warning:cannot convert string "-tlc-song-medium-r-normal-r-normal--*-140-*-*-c-*-gbk-0" to type FontStruct
已经用了locale 命令,并设置了export LANG=zh_CN.gbk ; export LC_ALL=zh_CN.gbk
可是还是不行,怎么办?
急~我对linux一点都不熟,对font.property更是一点都不懂,请各位高手指点,谢谢 ^_^
warning:cannot convert string "-tlc-song-medium-r-normal-r-normal--*-140-*-*-c-*-gbk-0" to type FontStruct
已经用了locale 命令,并设置了export LANG=zh_CN.gbk ; export LC_ALL=zh_CN.gbk
可是还是不行,怎么办?
急~我对linux一点都不熟,对font.property更是一点都不懂,请各位高手指点,谢谢 ^_^
|
你确认一下你的程序里面中文的是什么编码.
然后看看,你linux设的中文环境用的又是什么编码.
我想你程序里面用的应该是utf8的编码,而linux的环境应该是gb的编码.
所以,你可以 :
#export LC_ALL=zh_CN.utf8 试试
然后看看,你linux设的中文环境用的又是什么编码.
我想你程序里面用的应该是utf8的编码,而linux的环境应该是gb的编码.
所以,你可以 :
#export LC_ALL=zh_CN.utf8 试试
|
是UTF-8吧?
不确定的话就用find / -name "zh_CN*"找找看,找到什么就加什么
一般来说用zh_CN.GB2312比较不容易出问题……
当你编写的程序和你的系统里面用的字符集一致的时候才能显示出正确的字符,不过注意,一致并不是严格的要求两个字符集完全一样,只不过要求你使用的那部分字符的二进制编码和字体的对应关系一致就可以了(譬如GB2312和GB18030里面的某些字符)
不确定的话就用find / -name "zh_CN*"找找看,找到什么就加什么
一般来说用zh_CN.GB2312比较不容易出问题……
当你编写的程序和你的系统里面用的字符集一致的时候才能显示出正确的字符,不过注意,一致并不是严格的要求两个字符集完全一样,只不过要求你使用的那部分字符的二进制编码和字体的对应关系一致就可以了(譬如GB2312和GB18030里面的某些字符)
|
到jre目录,jre/lib/fonts
|
可能是编码的问题,也可能是字库的问题.