当前位置:  技术问答>linux和unix

linux 中文问题

    来源: 互联网  发布时间:2014-12-04

    本文导语:  我装完linux, Netscape浏览的中文网页都是乱码, 请问怎样解决 | 把它的charset设置为gb2312或者zh-CN。 | 转载一篇文章,在我的redhat 7.2上通过 一、GNOME的中文显示  RedHat 7.1采用gl...

我装完linux, Netscape浏览的中文网页都是乱码,
请问怎样解决

|
把它的charset设置为gb2312或者zh-CN。

|
转载一篇文章,在我的redhat 7.2上通过

一、GNOME的中文显示 
RedHat 7.1采用glibc2.2.2和XFree86 4.0.3,对国际化的支持有了很大的进步。GNOME是优秀的桌面平台,也是目前 
Linux使用的对国际化支持最好的桌面平台。这里我主要讲如何实现在RedHat 7.1下面显示和输入简体中文。 
为了简单起见,仅仅讲述GB2312编码的字符集。 

因为XFree86 4.0.3对显卡的支持不如XFree86 3.3.6广泛,所以RedHat 7.1里面同时保留了XFree86 3.3.6 
可以用xdpyinfo查看XFree86的版本号。方法 
xdpyinfo | grep release | sed s/^.*[^[:digit:]]// 
看看结果是不是4003,如果不是,表明版本不是4.0.3,您将不能用本文中的方法设置True Type字体。 
(XFree86 3.3.6不支持xtt模块,您需要参考其它资料设置) 

1:设置中文locale 
Linux采用locale技术以实现对多语言的支持。因此首先要设置中文locale。 
RedHat 7.1安装的时候有语言选择的选项,要求至少选择中文(Chinese)选项,否则很多中文的按钮、菜单可就看不到了 
如果不能确定,那就把所有语言都选上。 
如果你使用的是bash,那么请编辑~/.bash_profile文件,加上 
export LC_ALL=zh_CN 
export LANG=zh_CN 
然后运行. .bash_profile或者重新登录账号以使设置生效。 
编辑~/.i18n文件,内容为: 
LANG="zh_CN" 

2:测试中文locale 
在控制台上运行date命令,如果你能看到乱码证明中文locale已经生效。 
因为glibc2.2和2.1的locale名称有点不同,所以还要做一点工作 
cd /usr/share/locale 
ln -s zh_CN.GB2312 zh_CN 
此时运行startx进入GNOME桌面,你将看到任务栏上的时间已经变成中文显示了。如果你默认的不是GNOME桌面则可以 
运行switchdesk gnome切换到GNOME桌面。 

3:显示Windows下的中文文件名 
如果你还装了中文Windows 95/98/Me,那么现在就可以显示中文文件名了。RedHat 7.1采用2.4.2的内核,可以支持 
简体中文代码页。使用方法:在mount后加选项-o codepage=936,iocharset=cp936。为了永久生效,可以修改/etc/fstab 
文件。例如我的/etc/fstab文件内容为: 
LABEL=/    /    ext2   defaults   1 1 
/dev/hda1   /mnt/c vfat   defaults,codepage=936,iocharset=cp936 0 0 
/dev/hda7   /mnt/d vfat   defaults,codepage=936,iocharset=cp936 0 0 
/dev/cdrom  /mnt/cdrom iso9660 noauto,owner,ro 0 0 
/dev/fd0   /mnt/floppy auto  noauto,owner 0 0 
none     /proc   proc   defaults   0 0 
none     /dev/pts devpts gid=5,mode=620 0 0 
/dev/hda10  swap   swap    defaults   0 0 

4:安装中文TrueType字体 
XFree86 4.x可以比较好的支持TrueType字体。TrueType字体可以无级缩放,显示效果非点阵字体可比。为了达到 
Microsoft Windows那样的漂亮字体效果,我们可以安装中文TrueType字体。最简单的方法就是直接使用Windows 98下 
的中文字体。 
mkdir /usr/share/fonts/default/TrueType 
cp /mnt/c/windows/fonts/simsun.ttf /usr/share/fonts/default/TrueType 
cd /usr/share/fonts/default/TrueType 
ttmkfdir > fonts.dir 
因为ttmkfdir对Windows字体的编码识别有问题,因此需要手动修改一下。 
编辑fonts.dir文件,将 
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15 
修改为 
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0 
然后设置可缩放字体 
cp fonts.dir fonts.scale 
设置编码文件 
cp /usr/X11R6/lib/X11/fonts/encodings/encodings.dir . 
我们必须指定字体路径。 
编辑/etc/X11/XF86Config-4文件,加上 
所需要的字体路径,如下所示:(#表示注释行,以下同) 
Section "Files" 
FontPath "unix/:7100" 
FontPath "/usr/share/fonts/default/TrueType" (关键) 
EndSection 

还有在该文件的Modules部分,请加上xtt模块,同时必须取消freetype模块,两模块不可同时使用。 
例如: 

Section "Module" 
Load "dbe" # Double-buffering 
# Load "GLcore" # OpenGL support 
# Load "dri" # Direct rendering infrastructure 
Load "glx" # OpenGL X protocol interface 
Load "extmod" # Misc. required extensions 
Load "v4l" # Video4Linux 
# Load "pex5" # PHIGS for X 3D environment (obsolete) 
# Load "record" # X event recorder 
# Load "xie" # X Image Extension (obsolete) 
# You only need the following two modules if you do not use xfs. 
# Load "freetype" # TrueType font handler 
Load "xtt" # TrueType font handler 
# Load "type1" # Adobe Type 1 font handler 
EndSection 

注:此方法不需要关闭xfs,比较简单。 

5:设置GNOME的TrueType中文字体 
为了使我们设置的TrueType字体能够在GNOME下面使用,必须修改GNOME的资源配置文件。 
编辑/etc/gtk/gtkrc.zh_CN文件,设置字体如下: 
style "gtk-default-zh-cn" { 
fontset = " -misc-simsun-medium-r-normal--14-0-0-0-p-0-*-* " 

class "GtkWidget" style "gtk-default-zh-cn" 

再编辑/etc/gnome/gtkrc.zh_CN文件,将所有的FontSet设置为: 
fontset = "-misc-simsun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0" 
此时运行startx进入GNOME桌面,就可以看到漂亮的TrueType中文字体啦! 

6:中文输入 
这里我们采用Chinput 3.0.1作为中文输入服务器。Chinput 3.0.1可以支持XIM协议。 
除了Chinput 3.0.1的rpm包,另外还需要GNU pth和UNICON的输入法部分。 
首先安装pth 
rpm -ivh pth-1.3.7-3.i386.rpm 
然后安装UNICON输入法模块 
rpm -ivh unicon-3.0.2-im_2.i386.rpm 
最后安装Chinput输入法服务器 
rpm -ivh Chinput-3.0.1-2.i386.rpm 
我们必须针对RedHat7和自己设置的字体做一些设置 
cp /usr/lib/ZWinPro/Chinput.ad ~/.chinput 
编辑~/.chinput文件 
按如下设置 
chinput.gblocale = zh_CN 
chinput.big5locale = zh_CN 

chinput.gbfont = -misc-simsun-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0 
chinput.bigfont = -misc-simsun-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0 

将[ZNPY]下面的 
FILE cce/dict 
改为 
FILE /home/name/.pyinput 
其中/home/name由echo $HOME得到的值替换。 
别的地方不用修改 
然后执行 
cp /usr/unicon/modules/cce/dict/* ~/.pyinput 

编辑~/.bash_profile文件 
加上 export XMODIFIERS=@im=Chinput 
startx进入GNOME环境,把Chinput作为缺省启动程序。方法: 
进入控制中心,在Startup Programs里面添加 
然后退出桌面到控制台下面运行. .bash_profile 
startx进入GNOME环境,调出gEdit,按Ctrl+空格就可以输入中文了。 

注:以上3个文件均可在ftp://202.103.6.65/pub/chinese/中获得 
感谢Wu Yulun(migr@opera.com)和sipida(zxd@engc.bu.edu)做的rpm包使得安装更加方便。 
特别感谢中国linux论坛(http://www.linuxforum.net)的huyou给出的保存用户词组的patch, 
现在已经可以保存用户词组了^_* 

7:在应用程序中使用中文 

(1)浏览器 
上网冲浪最重要的软件莫过于浏览器了。Linux下常用的浏览器有Netscape、Lynx等。这里我 
要向各位推荐的是Netscape的新一代浏览器核心——Mozilla。Mozilla完全符合最新W3C标准, 
目前最新版0.8.1无论是从功能还是稳定性上来说都已经做的相当不错了。 
下载Mozilla 0.8.1 
下载地址http://www.mozilla.org 
安装 
tar zxvf mozilla-i686-pc-linux-gnu-0.8.1.tar.gz 
cd mozilla 
./mozilla 
这时mozilla就启动了。现在我们来做一些配置工作。首先选择Edit--Preferences,弹出对话框 
选择Appearance--Fonts,在Language Encoding中选择Simplified Chinese,然后将Serif、 
Sans Serif、Monospace都选择misc-simsun-gb2312.1980-0字体。Size设为14。 
有些站点可以自动识别语言。这可以通过以下方法实现: 
Navigator--Languages--Add... 
选择Chinese/China [zh-cn] 
点击Move Up,将中文语言放在最上面。 
最后点OK完成配置,然后退出 
Mozilla。(注意:这一点很重要,因为mozilla退出时会改写配置文件。如果没有退出mozilla 
做以下操作将无效!) 
cd mozilla/defaults/pref,编辑unix.js 
找到这样两行 
pref("font.min-size.variable.zh-CN", 16); 
pref("font.min-size.fixed.zh-CN", 16); 
改为 
pref("font.min-size.variable.zh-CN", 12); 
pref("font.min-size.fixed.zh-CN", 12); 
这样可以使网页看上去美观多了。 
最后是对输入法的配置 
cd ~/.mozilla 
在里面找到pref.js文件,在文件最后加上这样一行 
pref("xim.input_style","over-the-spot"); 
然后运行mozilla,就可以显示效果很好的中文网页了!显示效果一点不比IE 5.0差。 
为了方便,可以在panel中增加mozilla的启动图标。 
为了方便中文识别,可以选择View--Character Coding--Auto-Detect--Simplified Chinese 
以后mozilla会自动识别中文代码页面。 

注:如果您是用的Mozilla的rpm包安装的,方法是一样的,只是路径有所不同。您需要修改的是 
/usr/lib/mozilla/defaults/pref/unix.js文件。 

(2)终端仿真 
无论是运行shell程序还是上BBS,都少不了终端仿真程序。目前对中文支持比较好而且支持XIM协议的就是rxvt了 
RedHat 7.1带有rxvt,可以支持中文 
启动参数如下 
rxvt -bg black -fg gray -fn 8x16 -fm -misc-simsun-*-16-*-gb2312.1980-0 
上BBS的时候可以把rxvt的屏幕调大一些,方法:在rxvt的菜单中选“终端机”——“字型”——“较小” 
这样就看起来舒服一些:) 
另外,在列目录的时候,ls不能显示中文文件名。解决方法如

    
 
 

您可能感兴趣的文章:

  • 装的linux是英文版,现在要如何显示中文字符啊,比如装中文软件,或看中文网页
  • 有哪些中文linux,有哪些外挂的中文环境,这些中文环境之间兼容吗?
  • 中文问题:我使用的是MEPIS Linux,系统不能显示中文,我能不能把Redhat中的中文字体移植到这个系统中?
  • 用java读中文linux中的文件是正确的,用java读英文linux版本中的文件是乱码,如何使英文linux读出的文件数据也是中文的?
  • 现在最流行Linux的哪一个版本?中文用哪一个版本好?外挂中文,不是内核汉化?请指点!
  • 谁知道什么软件能在linux下输入中文, 和下载中文输入法网址, 急,急,急!!!
  • 我的rh linux 8 不支持中文,中文显示乱码,该安装什么?或怎么解决?
  • 为什么在redhat linux8中文下字处理程序中无法输入中文?
  • linux怎么输入中文? 有没有中文输入法阿?
  • 正版的RH7带中文工具,请问好不好用?与中文的LINUX(蓝点、红旗等)相比怎么样?
  • linux要想使用中文输入法是不是要安装中文支持才可以?
  • linux编码问题:系统不想改为中文的,网页如何显示中文?
  • linux (中文)查询sql 中文
  • ★★为什么我把Windows的FAT32中文目录或文件mount到Linux显示???号?,但在Linux下可以正常显示新建中文目录或文件(ext3)呀!!!
  • 请问各位,我装了Mandrake Linux 10.1版,选的简体中文,可是进去后菜单的中文都是方格,怎么解决啊?
  • 菜鸟在http://www.linuxiso.org/上下载了linux9.0,不知道是否是简体中文的安装界面???哪里有简体中文安装界面的linux9.0下载??
  • 请问为什么我在linux 9.0下打开.pdf,和.ppt显示不了中文,但是网页的中文内容能显示
  • 只想让Red hat Linux7.1支持中文和中文输入,而不想让桌面都变成汉字,怎么办?
  • 请问:Linux不能显示U盘中中文文件名,但能显示中文的内容?怎么解决?
  • 请问Linux下中文显示有误,且不能用中文输入了,怎办?
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • linux 繁体 汉字输入法 问题 linux 繁体 汉字输入法 问题
  • Linux 下c++开发error while loading shared libraries问题解决
  • 先安装linux,后安装winxp,能否解决正常启动linux的问题不?(初学者问题,很容易回答)
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • Linux新手问,Linux安装问题。
  • linux下游戏问题。(菜鸟问题)
  • 初学Linux,发现Linux下的版本问题很头痛。【系列问题】
  • 高深问题:有了linux内核源代码如何做成一个linux操作系统
  • 一个很菜的问题,关ARM与linux内核裁剪的问题!
  • vmware装的linux,通过win2000访问linux的web服务器有问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • linux c下利用srand和rand函数生成随机字符串
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 我们网站的服务器从windows2000迁往linux,ASP程序继续使用,可是我连LINUX的皮毛都不了解,大家告诉我LINUX下怎么建网站??
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 中文Linux与西文Linus分别哪一个版是权威?I认为是:中科软的白旗Linux与西文的绿帽子Linux!大家的看法呢?
  • Linux下chmod命令详细介绍及用法举例
  • 我重装了winme,却进不了Linux了,而我现在又没有Linux光盘,也没有Linux启动盘,还有没有办法?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3