一、网页中的 flash 乱码 :
刚刚装上的ubuntu 默 认浏览器是Firefox ,但是Ubuntu 默认不安装像flash 这种带版权的软件。所以当你浏览
像youku 或网页播放器时,这种带有 flash 的网页,firefox 会提示你安装缺失插件,选择安装Flash 插件后确实
是可以显示flash 了,不过你会发现,在flash 上面的中文 都是方框!注意:建议选择adobe 的插件,这是由于兼容性。
解决方法:
终端中输入:
cd /etc/fonts/conf.d/
sudo cp 49-sansserif.conf 49-sansserif.conf_backup
sudo gedit ./49-sansserif.conf
将其中的第1 、2 、4 个后面的sans-serif 用UTF -8 代替,当然不 备份也无妨。
比如:
<match target=”pattern”>
<test qual=”all” name=”family” compare=”not_eq”>
<string>UTF-8</string>
</test>
<test qual=”all” name=”family” compare=”not_eq”>
<string>UTF-8</string>
</test>
<test qual=”all” name=”family” compare=”not_eq”>
<string>monospace</string>
</test>
<edit name=”family” mode=”append_last”>
<string>UTF-8</string>
</edit>
</match>
二、 Rhythmbox 中的歌曲信息乱码 :
首 先说明一点:在ubuntu 下,音频格式只有mp3 会出现标签乱码。
先安装mutagen :
sudo apt-get install python-mutagen
然 后转到你的MP3 目录,例如我的歌曲放一个音乐文件夹则输入:
cd /home/"my music"/
执行以全命令进行转换:
mid3iconv -e GBK *.mp3
注意:若文件夹my music 下还有自文件夹,如还有“刘德华”,“english” 等,
则输入:
mid3iconv -e GBK */*.mp3
则将包含所有子文件夹中的mp3 格式。
再用 Rhythmbox 重新导入歌曲文件夹就行了!
三、文本文件中的乱码:
提供两种方案:
1 》编辑“配置编 辑器”
首先在主菜单中选中“配置编辑器”,使其显身。
而后在应用程序菜单中选择“系统工具”>“ 配置编辑器”
打 开后按以下路径
apps>gedit-2>preferences>encodings
编辑 auto_detected ,在里面加入GB2312,GBK 等中文编码即可。
2 》直接修改Ubuntu 默认编码环境为GBK
这 样就和windows 环境下差不多了。
方法如下:
1 、打开
sudo gedit /var/lib/locales/supported.d/local
在此文件中,添加一行
zh_CN.GBK GBK
2 、 sudo locale-gen
会看到系统下载几个文件。
3 、修改/etc/environment
sudo gedit /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
添加
LC_ALL="zh_CN.GBK"
4 、接下来重启机器就行了
四、 pdf 乱码:
ubuntu 自带的文档阅 读器,即Evince 查看中文,会出现乱码与排列混乱。
解决方法如下:
终端中输入
sudo apt-get install poppler-data
执行完后,重新打开pdf 文件后中文能正常显示了。
五、 wine 乱码:
1 、首先从windows 系统中拷贝simsun.ttc 字体进入~/.wine/drive_c/windows/Fonts/
具体方法是在终端中输入:
gnome-open .wine/drive_c/windows/Fonts
将会自动搜索并打开此文件夹。
再将 字体复制进去。
2 、修改注册表文件~/.wine/system.reg 。
具体方法是在 终端中输入:
cd .wine
gedit system.reg
将[Software//Microsoft//Windows NT//CurrentVersion//FontSubstitutes] 中的:
“MS Shell Dlg”=”Tahoma”
“MS Shell Dlg 2″=”Tahoma”
改为:
“MS Shell Dlg”=”SimSun”
“MS Shell Dlg 2″=”SimSun”
注释:当然你复制其它字体,方法类似。
在Linux中通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。在locale环境中,有一组变量,代表国际化环境中的不同设置:
1. LC_COLLATE
定义该环境的排序和比较规则
2. LC_CTYPE
用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量。
3. LC_MONETARY
货币格式
4. LC_NUMERIC
非货币的数字显示格式
5. LC_TIME
时间和日期格式
6. LC_MESSAGES
提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"。
7. LANG
LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。
8. LC_ALL
它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。
一个例子:
设置前,使用默认locale:
debian:~# locale
LANG="POSIX"
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
设置后,使用zh_CN.GDK中文locale:
debian:~# export LC_ALL=zh_CN.GBK
debian:~# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEPHONE="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=zh_CN.GBK
"C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。
在Debian中安装locales的方法如下:
· 通过apt-get install locales命令安装locales包
· 安装完成locales包后,系统会自动进行locale配置,你只要选择所需的locale,可以多选。最后指定一个系统默认的locale。这样系统就会帮你自动生成相应的locale和配置好系统的locale。
· 增加新的locale也很简单,用dpkp-reconfigure locales重新配置locale即可。
· 我们也可手动增加locale,只要把新的locale增加到/etc/locale.gen文件中,再运行locale-gen命令即可生成新的locale。再通过设置上面介绍的LC_*变量就可设置系统的locale了。下是一个locale.gen文件的样例。
· # This file lists locales that you wish to have built. You can find a list
· # of valid supported locales at /usr/share/i18n/SUPPORTED. Other
· # combinations are possible, but may not be well tested. If you change
· # this file, you need to rerun locale-gen.
· #
·zh_CN.GBK GBK
·zh_CN.UTF-8 UTF-8
-----------------------------------------
在我看来只要搞清楚LANG和SUPPORTED就OK了,其他可能平时也用不太多。再参考篇文章,如下,是讲如何设置环境变量的。
-------------------------------------------
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US.UTF-8",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG="en_US.UTF-8",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
修改后的/etc/sysconfig/i18n 文件为:
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
LC_ALL="en_US.UTF-8"
export LC_ALL
设置完毕后重启或者用rc.local使生效
或修改登录用户的.bash_profile文件加入
export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
-----------------------------------------------------------------------------------------------
心里一定要明白 Windows XP 是GB2312的编码,如果你的服务器字符集不是这个,估计就会是乱码,所以要调整。
有些人在调整的时候,说我改了系统环境变量,结果造成用户内容显示乱码,无非解决的方法就是两个:
1.用iconv转化为目前的编码
2.用你原来使用的编码