Pages

Tuesday, 22 May 2012

关于在putty中设置utf-8编码和输入中文


在window-〉Translation中,把下拉菜单Use font encoding的值改为UTF-8即可。如果要经常输入中文,建议把这个设置保存在session里面.
我看到网文说,还要“选择window-〉Appearance-〉Font settings-〉Change按钮,选择Fixedsys字体,字符集选择CHINESE_GB2312”(比如http://www.cnitblog.com/donne/archive/2010/11/26/39768.html),这一步其实是多余的。
这样用putty登录linux vps后,就可在putty里输入中文了,无需用什么securecrt,而且用nano编辑器即可输入中文,无需使用让初学者望而生畏的vim或emacs这样的编辑器。这样在vps console里编辑/写中文文章,然后push到github空间,就不会出现任何乱码了,无论是在console里还是在访客访问文章时。

如果你的linux vps的编码不是en_US.UTF-8而是比如zh_CN.GB2312,需要把编码格式改为en_US.UTF-8,修改方法如下:
~/.bashrc 或者 ~/.bash_profile不一定存在,所以建议修改/etc/profile文件,这个文件一定存在。用文本编辑器打开/etc/profile,
在profile文件末尾加入:
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
保存即可。

重新登录vps,测试修改后的结果:
-bash-3.2# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
以上结果表明修改成功。
--------------------------------------------------
PuTTY 是自由的跨平台 Telnet/SSH 客户端,其主要作者是 Simon Tatham。同时在 Win32 和 Unix 系统下模拟 xterm 终端,兼容于windows的xp/vista/win7/2008各个版本系统。它可以连接上支持 SSH Telnet 联机的站台,并且可自动取得对方的系统指纹码 (Fingerprint)。建立联机以后,所有的通讯内容都是以加密的方式传输,Putty会自动纪录该Server的指纹辨识码,若有更动则会警告 你,因此你再也不用害怕使用 Telnet 在 Internet 或公司的内部网络传输资料时被他人获知内容了~

从 0.59 版本开始已经修改了默认的字体设置为“新宋体, 12 点”,并设置 GB2312_CHARSET 字符集。配合简单的 Locale 定义即可显示输入中文。
从 0.60cn2 版本开始设置默认字符集为“UTF-8”,将不确定的字符设置为 CJK,环境为“LANG=zh_CN.UTF-8,LANGUAGE=zh_CN:zh,”。另外将回滚行数设置为 9999 行。
注意 对于 Debian、Ubuntu、CentOS 系统,请修改 /etc/ssh/sshd_config 文件,将:
AcceptEnv LANG LC_*
修改为
AcceptEnv LANG * 
AcceptEnv LANGUAGE *
--------------------------

解决vps服务器中文乱码问题的有效方法

VPS服务器用户的一个普遍的问题是中文字符乱码的问题。在本文中,我们将探讨。

1.更改命令行的字符集

命令行是许多vps服务器用户的首选接口。当用户通过ssh连接到服务器时,可以在命令行上运行各种命令。然而,一些vps服务器可能设置在ASCII码字符集上,或者其编码为ISO-8859-1,这可能导致中文字符的乱码问题。解决这个问题的方法是通过以下命令更改字符集:

export LANG=”zh_CN.UTF-8″

export LC_ALL=”zh_CN.UTF-8″

这些命令将把vps服务器的字符集更改为UTF-8,这是目前最适合中文字符的字符集。此外,通过更改ssh客户端的默认字符集,也可以解决vps服务器上的字符集问题。例如,在windows下使用putty ssh客户端,可以在设置菜单里更改字符集为UTF-8,以避免乱码问题。

2.配置网页服务器的字符集

为了正确显示包含中文字符的网页,必须正确地配置网页服务器的字符集。例如,如果使用Apache作为网页服务器,可以在httpd.conf文件中为每个虚拟主机指定字符集。以下是一个示例:

AddDefaultCharset utf-8

这个选项将告诉Apache使用UTF-8字符集来为所有网页服务。类似地,如果使用Nginx作为web服务器,可以在配置文件中使用以下指令:

charset UTF-8;

这些命令将确保web服务器正确地解释包含中文字符的网页,并正确地显示它们。

3.编辑文本文件时使用正确的编码

如果在vps服务器上编辑文本文件时使用错误的编码,也会导致中文字符的乱码问题。例如,如果使用ANSI编码,然后在使用UTF-8编码的网页服务器上呈现该文本,则会出现乱码。因此,在编辑文本文件时,更好使用UTF-8编码,或者在使用其他编码时明确指定所使用的编码。这可以通过使用正确的编辑器或编辑器插件来实现。

4.安装中文字符集支持

为确保vps服务器正确地识别中文字符,更好为其安装中文字符集支持。这可以通过在vps服务器上安装相应的语言包来实现。例如,在Ubuntu Linux上,可以使用以下命令安装中文语言包:

sudo apt-get install language-pack-zh-hans language-pack-zh-hans-base

这将为vps服务器安装所需的中文字符支持,并确保正确呈现中文字符。

5.使用第三方字符编码转换工具

有时,即使尝试了所有上述措施,也无法解决vps服务器中文字符乱码问题。在这种情况下,可以使用第三方字符编码转换工具将乱码字符转换为正确的字符。例如,iconv是一种广泛使用的字符编码转换工具,可以在大多数Linux发行版和其他Unix操作系统中使用。使用iconv的基本语法如下:

iconv -f [原编码格式] -t [目标编码格式] [文件名]

这个命令将把一个特定的文件从原编码格式转换为目标编码格式,并修复其中的中文字符乱码问题。

结论

中文字符乱码问题一直是vps服务器用户的一个常见问题。然而,通过采用上述措施,可以解决甚至完全避免这些问题。这些方法包括更改命令行的字符集,配置网页服务器字符集,编辑文本文件时使用正确的编码,安装中文字符集支持和使用第三方字符编码转换工具。通过这些措施,vps服务器用户可以解决中文字符乱码问题,并确保网站和应用程序正确地呈现中文字符。

-------------------------------------------

Linux中文显示乱码?

 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码。出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的。大鸟vps是centos64位系统,所以就以此为例,操作Linux怎么查看语言,设置修改语言!

1、查看当前系统语言

登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言。

看看我的是英文版的系统!看下面的操作!

2、查看当前系统安装的语言包

查看是否有中文语言包可以在终端输入 locale命令,如有zh cn 表示已经安装了中文语言,看图操作!

大鸟的vps确实没有安装中文语言包,我们下面来安装一个!

3、如果没有中文语言怎么办呢?

      可以通过网上下载安装中文语言包ssh中输入:

    yum groupinstall chinese-support(不能联网的通过其他电脑下载,上传上去吧)

yum-groupinstall-chinese-support

下载好之后我们继续看下面!

4、如何修改centos系统语言为中文呢

     临时更换语言

如果只是临时更换linux系统的语言环境,可以通过输入设置 LANG=语言名称, 如中文是 :Zn_CN.UTF-8

我们输入:LANG="zh_CN.UTF-8" 系统就会临时换成中文语言,然后输入echo $LANG命令看看是不是安装了中文。

已经有了,然后我们在输入locale命令来确定一下看图!

看到了zh cn 表示已经安装了中文语言!

        修改系统默认语言

        以上方法是通过修改设置系统默认的语言配置

        如Vi  /etc/sysconfig/i18n (注意改好之后重启一下系统)

        其他注意事项

        如果按照以上方法设置修改设置中文语言还是不行的话,注意您的链接终端选择的编码。

        如xshell为例,把终端的编码选择中文,或者UTF-8即可。

        设置好之后,再次查看之前的乱码文件就能看到显示为中文了

        以上经验是Centos系统的操作方法,其他发行版的linux命令可能有所不同(绝大多少的都是这样操作喔)注意改了默认配置之后需要重启系统

        重启系统命令:#reboot

这个方法貌似有点问题,我在网上新找的方法贴下来,然后我会做验证看看可不可行!

一、CentOS系统访问 g.cn ,发现中文乱码。

    于是用以前的方式:yum -y install fonts-chinese
    CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。

    后来,终于找到以下方法可以解决,需要两个中文支持的包:
    fonts-chinese-3.02-12.el5.noarch.rpm
    ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm
    fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm
    ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm
    一个是中文字体,一个是字体显示包。

    下载后,在命令行安装:
    #rpm -ivh XXXX ( XXXX 代表上面那两个包的全名, rpm 不会不知道怎么用吧?)
    CentOS系统安装完成后,重新启动即可。

二、终端、 gedit 显示乱码

    #vi /etc/sysconfig/i18n
    将LANG=”en_US.UTF-8″
    SYSFONT=”latarcyrheb-sun16″
    修改原内容为
    LANG=”zh_CN.GB18030″
    LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”
    SUPPORTED=”zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en”
    SYSFONT=”lat0-sun16″

    用 yum 安装中文字体
    #yum install fonts-chinese.noarch
    system -> logout 注销
    重新登录CentOS系统时,你会发现,所有界面已从英文变成中文。在终端输入 date 命令测试
    #date
    2016 年 10 月 24 日 星期一 12:09:00 CST

三、在 ssh , telnet 终端中文显示乱码解决办法( CentOS 5.3 )

    #vi /etc/sysconfig/i18n
    将原内容 LANG=”en_US.UTF-8″
    SYSFONT=”latarcyrheb-sun16″
    修改为
    LANG=”zh_CN.GB18030″
    LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”
    SUPPORTED=”zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en”
    SYSFONT=”lat0-sun16″

    用 yum 安装中文字体
    #yum install fonts-chinese.noarch
    断开 ssh ,重新连
    在终端输入 date 命令测试
    #date
    2016 年 10 月 24 日 星期一 12:09:00 CST

四、在CentOS系统 5.3 中使用中文输入法

    我以前的方法是安装企鹅版 ,  在此,还有一个更简单的,只要使用 yum 安装 SCIM 即可。
    命令行输入:
    #yum install scim
    #yum install scim-pinyin
    重启动X(按Ctrl+Alt+Backpace)或注销(logout)。

好了,可以输入中文了。CentOS系统出现中文乱码的问题就这样解决了。

-------

相关帖子:

https://briteming.blogspot.com/2018/03/ubuntulocale.html