Linux下乱码问题的解决方案小结
linux系统中文件名内容为urf8编码,windows系统中文件名默认为gbk编码,多数文档使用gbk编码,系统采用utf8编码
无中文输入法导致的乱码
1、ibus输入法
Ubuntu系统安装后已经自带了ibus输入法,在英语环境下默认不启动。配置ibus自动启动可以在ubuntu系统菜单上选择System---Preferences---StartupApplications,在该窗口中增加一个程序:
Name:ibus-daemon Command:ibus-daemon-d-x-r
ibus默认提供的中文输入法比较弱智,需要额外安装ibus-pinyin,命令如下:
sudoapt-getinstallibus-pinyin
这时,还需要将ibus-pinyin输入法启动。在ubuntu系统菜单上选择System---Preferences---IBusPreferences,在InputMethod页中的“Selectaninputmethod”下拉框中选择增加Chinese–Pinyin,就是图标中有个一个大大的“拼”字的那一个,然后点击Add按钮,最后通过Up按钮将该输入法移动到最上面。系统重启后,通过Ctrl+空格即可调出ibus输入法。ibus输入法总体来说不错,但是在我的环境下发现无法在部分Java程序中调出来,例如Netbeans、OpenProj。
2、fcitx输入法
由于ibus的缺陷,所以我尝试了fcitx,使用下来也非常不错,而且可以在Java程序中正常使用,只是在这种情况下光标跟随有些问题,输入界面会停留在屏幕最下端,但是可以接受,比起ibus不能使用要好多了。
安装fcitx:
sudoapt-getinstallfcitx
启动fcitx:
im-switch-sfcitx
注销后重新登录,fcitx就会生效。如果需要切换回ibus,可以运行im-switch-sibus,然后注销,重新登录。fcitx同样可以通过Ctrl+空格调出,这时会发现fcitx显示的中文是方框,因此需要修改fcitx的配置。Fcitx的配置文件在~/.fcitx/config,该文件为GBK编码,在Ubuntu下显示不正常,可以通过如下方式操作:
cd~/.fcitx iconv-fgbk-tutf8config>config.tmp
编辑config.tmp文件:
显示字体(中)=WenQuanYiMicroHei
显示字体大小=10
使用粗体=0
保存退出,然后运行命令:
iconv-futf8-tgbkconfig.tmp>config
注销后重新登录,fcitx显示正常。
对于搜狗输入候选字乱码问题,先运行
sudoapt-getinstallfcitx-module-kimpanel
然后注销或者重启,一般就可以了
utf8和UTF-8有什么区别
“UTF-8”是标准写法,在windows下边英文不区分大小写,所以也可以写成“utf-8”。“UTF-8”也可以把中间的“-”省略,写成“UTF8”。一般程序都能识别,但也有例外(如下文),为了严格一点,最好用标准的大写“UTF-8”。只有在MySQL中可以使用“utf-8”的别名“utf8”,但是在其他地方一律使用大写“UTF-8”。
网页上Flash中的中文显示为方框的解决办法
编辑/etc/fonts/conf.d/49-sansserif.conf文件,作如下修改:
<editname="family"mode="append_last"> <string>WenQuanYiMicroHei</string> </edit>
Java程序部分中文显示为方框的解决办法
在$JAVA_HOME/jre/lib/fonts目录下建立fallback目录,将中文字体文件复制(或link)到fallback目录。
sudomkdir$JAVA_HOME/jre/lib/fonts/fallback sudoln/usr/share/fonts/truetype/wqy/wqy-microhei.ttc$JAVA_HOME/jre/lib/fonts/fallback/
“GBK乱码”,参考
乱码的样子类似:
à??üòá??à3?£???1,°2à??üòá??à3?£???1
解决方法:
convmv-r-futf8-tiso88591--notest--nosmart*&&convmv-r-fgbk-tutf8--notest--nosmart*#把乱码文件名文件复制在一个空目录里运行(这样错了也不怕):
“ascii乱码”参考
乱码的样子类似:
%E5%8C%BB%E4%BF%9D
解决方法:
1.使用uni2ascii代码:echo乱码原文|ascii2uni-aJ
2.安装nautilus-filename-repairer0.06(官方有源码,但是依赖问题,我还没安装成功,而0.05版与现在的nautilus有点小小的合作障碍,只能看不能改名)
3.用chromeplus-1.3.3.1下载(因为这类乱码主要在用ff(默认utf8)下载qq群里的文件之后产生,用chromeplus(默认GBK)下就没问题了)
另外,至于文件里面内容的乱码问题可以搜索enca.
解决Rhythmox乱码问题:
安装Rhythmox:sudoapt-getinstallrhythmbox
安装mid3iconv:sudoapt-getinstallpython-mutagen
mid3iconv-h
Clementine乱码问题
安装mid3iconv:sudoapt-getinstallpython-mutagen
mid3iconv-h
Clementine不支持utf8,需要吧所有的mp3歌曲转换为gbk格式,wma好像不用转就可以
mid3iconv-egbk*.mp3(由于不能带-r参数,所以要依次进入每个文件夹)
另外clementine采用gstreamer作为后端,需要安装gstreamer插件:
如果想支持mp3,需要安装gstreamer-0.10-plugins-bad和gstreamer-0.10-plugins-ugly
如果想支持wma,需要安装gstreamer-0.10-ffmpeg
如果想支持mms流媒体,需要安装gstreamerpluginsformms
另外Clementine基于Amarok,所以支持Amarok的插件一般都支持Clementine,比如osdlyrics。
转换文件内容编码:
file-i<filename>检测文件编码 iconv--help
转换文件名编码
sudoapt-getinstallconvmv convmv--help convmv-fgbk-tutf8-r--notestfiles convmv-r-futf8-tiso88591*--notest--nosmart&&convmv-r-fgbk-tutf8*--notest--nosmart
解决gedit乱码问题:
gsettingssetorg.gnome.gedit.preferences.encodingsauto-detected"['GB18030','GB2312','GBK','UTF-8','BIG5','CURRENT','UTF-16']"
gsettingssetorg.gnome.gedit.preferences.encodingsshown-in-menu"['GB18030','GB2312','GBK','UTF-8','BIG5','CURRENT','UTF-16']"
解决PDF中文乱码:
sudoapt-getinstallpoppler-data
解决rar文件乱码
使用rar
解压zip文件乱码
最近碰到这个问题,网上搜了一圈,都是什么unzip-O,一点用都没有,这些哥们估计是直接复制,用都没用过。后来找了个终极方法,用python的脚本来解压,试了下,还真管用!!!以下为python脚本的代码,新建文件jieya.py,写入以下代码:
#!/usr/bin/envpython #-*-coding:utf-8-*- importos importsys importzipfile print"ProcessingFile"+sys.argv[1] file=zipfile.ZipFile(sys.argv[1],"r"); fornameinfile.namelist(): utf8name=name.decode('gbk') print"Extracting"+utf8name pathname=os.path.dirname(utf8name) ifnotos.path.exists(pathname)andpathname!="": os.makedirs(pathname) data=file.read(name) ifnotos.path.exists(utf8name): fo=open(utf8name,"w") fo.write(data) fo.close file.close()
然后zip文件跟jieya.py放在同一级目录,运行命令pythonjieya.pyfile.zip,哦了!
smplayer中文字幕乱码解决方法
打开选项-》首选现:选择字幕选项卡。
找到“默认字符编码”选项,在下拉框中选择“简体中文(cp936)”
再打开“字体”页卡(上边),选择“系统字体”在下拉选框中选择一种简体中文字体,如WeuQuanyiZenHei等。
VLC播放器显示文件名乱码
初选项中修改一种支持中文的字体
以上所述是小编给大家介绍的Linux下乱码问题的解决方案小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!