Chinaunix

标题: gnome里中文文件名正常,但终端却显示为乱码[部分解决] [打印本页]

作者: lonelywing    时间: 2007-03-01 09:22
标题: gnome里中文文件名正常,但终端却显示为乱码[部分解决]
具体为表现为gnome里
在文件浏览器里可以正确显示中文
而终端程序里都变成了乱码,如:

涓婚???欢/
瀹????欢/
??????浠跺す/
?充?/

locale值为zh_CN.eucCN

这种情况怎么办??

[ 本帖最后由 lonelywing 于 2007-3-13 17:24 编辑 ]
作者: lonelywing    时间: 2007-03-01 10:22
有更新的发现

出现乱码的文件都是我在gnome里新建的 或者 重命名的带中文字符的文件

另一个比较奇怪的是在终端里输入一些中文发音为“xiang"的字时都会变成类似\U+CFEB这样一串字符,比如“试想”显示为“试\U+CFEB”,”相信“变成了“\U+CFE0信“

不过在文件浏览器里看起来没有 任何问题

有高人给个解释吗?
作者: lonelywing    时间: 2007-03-01 20:37
见图
其中红色的就是在文件浏览器中新建的,结果在终端里显示乱码
绿色的是指在终端里输入某些汉字就出现乱码的问题,比如“想”这个字

[ 本帖最后由 lonelywing 于 2007-3-1 20:38 编辑 ]

fb.JPG (89.26 KB, 下载次数: 25)

fbb

fbb

作者: 大大狗    时间: 2007-03-01 20:53
ls -w
作者: lonelywing    时间: 2007-03-04 22:10
ls -w不行,还是乱码,不过是另一种乱码了
作者: lonelywing    时间: 2007-03-13 17:23
默认情况下gnome使用UTF-8编码,从而在gnome的图形X环境下对中文文件的新建或者重命名等操作采用的都是UTF-8编码,导致了这些中文文件名在终端环境以及windows环境下显示为乱码。
可以设置Gnome采用eucCN或者GBK编码
使用startx启动Gnome的写入用户主目录的.xinitrc文件
使用gdm启动Gnome的写入用户主目录的.xprofile或.profile文件
添加以下内容:
export G_FILENAME_ENCODING=”@locale”
export G_BROKEN_FILENAMES=1

变量说明参考http://developer.gnome.org/doc/API/2.0/glib/glib-running.html

对于已经是UTF-8编码的中文文件名,Gnome下还是能够正常显示的,但在终端下对于已经是UTF-8的中文文件名还是显示为乱码。
可以对这些中文文件名进行一些处理:
文件数量少的话可以采用重命名文件
文件数量多的话可以用程序convmv进行转换

convmv位于/usr/ports/converters/convmv/
使用方法请在安装后man convmv


遗留问题
1.mplayer的打开对话框下无法正确显示中文名,只在UTF-8编码环境下正常,不知道是不是固定使用UTF-8
2.对于楼顶说的“想”这一类的字在终端下还是显示为\U+CFEB

[ 本帖最后由 lonelywing 于 2007-3-25 05:08 编辑 ]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2