• linux 中文乱码解决办法


    就是从数据库中取出来时,在存入linux的文件里时,在字符流时制定编码格式。代码如下:
    FileOutputStream fos=new FileOutputStream(new File(filePath),true);
    Writer ut=new OutputStreamWriter(fos,"UTF-8");
    out.write(s);
    out.write(" ");
    out.flush();
    fos.close();
    out.close();
    **********************
    vi .bash_profile
    export lang=zh_CN

    vi /etc/sysconfig/i18n
    LANG="en_US.UTF-8"
    SUPPORTED="en_US.UTF-8:en_US:en:zh_CN.GB18030:zh_CN:zh:zh_TW.big5:zh_TW:zh:ja_JP.UTF-8:ja_JP:ja:ko_KR.eucKR:ko_KR:ko"
    SYSFONT="latarcyrheb-sun16"
    只改第一个不管用,好像第二个尤其重要,必须改。
    ***************************************

    方法一: 打开putty主程序,选择window-〉Appearance-〉Font settings-〉Change…,选择Fixedsys字体,字符集选择CHINESE_GB2312。在window-〉Appearance -〉Translation中,Received data assumed to be in which character set 中,把Use font encoding改为UTF-8如果经常使用,把这些设置保存在session里面. 现在打开putty,登录成功后,在shell中输入:export LC_ALL=’zh_CN.utf8′

    方法二: 编辑/etc/sysconfig/i18n 将第1句“LANG=”zh_CN.UTF-8″”改为“LANG=”zh_CN.GB18030″”,完成后保存重新登录就可以显示正常了


    1、console终端乱码
    在/etc/profile文件的最后一行添加如下内容:
    export LC_ALL=”zh_CN.GB18030″
    2、xwindow终端乱码
    在/etc/sysconfig/i18n文件的最后一行添加如下内容:
    export LC_ALL=”zh_CN.GB18030″+
    **************************
    乱码分两种情况:
    1.终端(纯shell界面)的乱码
    vi /etc/profile
    export LC_ALL=”zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5″
    保存退出,reboot系统即可..
    2.X-window(图形界面)的乱码
    vi /etc/sysconfig/i18n
    LANG=”zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5″
    LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5″
    保存reboot即可…
    *********************
    新发了台linux虚拟机,用VIM出现了中文乱码问题,查找了资料,解决方法如下:
    vi /etc/sysconfig/i18n
    将内容改为
    LANG=”zh_CN.GB18030″
    LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”
    SUPPORTED=”zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”
    SYSFONT=”lat0-sun16″
    这样中文在SSH,telnet终端就可以正常显示了
    其中,主要修改的内容主要为zh_CN.GB18030,其中要注意VI个性的内容为根目录下,要注意权限
    **************************
    每次装完linux,用SSH连接,中文总是显示乱码。51Testing软件测试网
    解决方法:编辑/etc/sysconfig/i18n,将其中的 LANG=”zh_CN.UTF-8″ 改为 LANG=”zh_CN.GB2312″ 。
    &m^%k7X6X7IQ051Testing软件测试网 K!W|,r8cV&r5N
    断开重新连接。
    ****************************
    linux下中文乱码问题解决方案 (2008-06-07 12:55:45)
    从 windows传过来的文件拷到linux下是乱码,俺们又想在linux下显示中文,怎么办呢?我们首先进行测试,linux下的中文是否可以正常显示?答:yes. 所以问题就比较明显了,windows下拷过来的不能显示,说明windows下和linux下支持的格式是不相同的.
    linux下一般是采用utf-8的编码,而我们在windows上编辑文件时是gb2312的编码。所以导致中文编码会乱码。要更正这个问题实际上很简单只要把文件转换成utf-8编码格式然后再导入就ok啦。
    然后使用如下命令进行转换:
    iconv -f gb2312 -t utf-8 test.txt> testutf8.tzt
    (-f 就是源编码,-t 转换目标编码,test.txt源文件,testutf8.txt生成目标编码文件)
    备注:使用 iconv -l 可以查看系统支持编码格式。当然也可以添加其中的编码格式:
    默认为utf8,如果想用其他编码如GBK
    手动更改配置文件的命令:
    shell> vi /etc/sysconfig/i18n
    将LANG=”zh_CN.UTF-8″修改为:
    LANG=”zh_CN.GBK”
    保存并关闭,运行下面的命令使配置生效:
    shell> source /etc/sysconfig/i18n
    将终端字符编码显示为简体中文:
    shell> vi /etc/profile.d/chinese.sh
    添加下面这行:export LC_ALL=zh_CN.GBK
    shell> source /etc/profile.d/Chinese.sh
    *******************************
    解决Linux操作系统下Java的中文乱码问题
    在jdk15以后,只需在~/jre/lib/fonts/下建一个fallback目录,把你想在java中使用的字体烤贝到这个目录中即可
    以下方法在fc6下测试通过,假设用户的jre路径为 /usr/java/jdk1.6.0_03/jre/
    cd /usr/java/jdk1.6.0_03/jre/lib/fonts
    sudo mkdir fallback
    将C:WINDOWSFontssimsun.ttc拷贝到 /usr/java/jdk1.6.0_03/jre/lib/fonts/fallback文件夹内 centos5.2配置完成后,正常能显示中文,查看后发现支持utf-8字符集。
    而putty和ssh secure shell连接却发现乱码,主要表现为执行vim乱码,su命令乱码。
    使用$locale命令查看,出现如下:
    LANG=zh_CN.UTF-8
    LANGUAGE=zh_CN:zh
    LC_CTYPE=”zh_CN.UTF-8″
    LC_NUMERIC=”zh_CN.UTF-8″
    LC_TIME=”zh_CN.UTF-8″
    LC_COLLATE=”zh_CN.UTF-8″
    LC_MONETARY=”zh_CN.UTF-8″
    LC_MESSAGES=”zh_CN.UTF-8″
    LC_PAPER=”zh_CN.UTF-8″
    LC_NAME=”zh_CN.UTF-8″
    LC_ADDRESS=”zh_CN.UTF-8″
    LC_TELEPHONE=”zh_CN.UTF-8″
    LC_MEASUREMENT=”zh_CN.UTF-8″
    LC_IDENTIFICATION=”zh_CN.UTF-8″
    LC_ALL=
    解决方案:
    1. 对于putty0.6版本
    a.修改centos上/ect/sysconfig/i18n内容为:
    LANG=”zh_CN.UTF-8″
    b.修改putty的configuration窗口内windows->Appearance->font setting为新宋体,10号字。
    修改Translation的Receive data assumed to be in which character set为:
    UTF-8。(因为下来列表中没有中文字符集,GB2312或cp936)。
    这样修改完成后,putty就正常支持中文显示了。
    2.对于ssh secure shell版本。
    a.将配置的字体改成宋体,但是还是乱码,
    b.修改centos的/ect/sysconfig/i18n内容为:
    LANG=”zh_CN.GB18030″
    LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”
    SUPPORTED=”zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”
    SYSFONT=”latarcyrheb-sun16″
    —以上内容是网上找到了,照着写了。
    发现连接ssh secure shell可以正常显示中文。
    用$locale查看,上面看到的配置都变成了GB18030编码了
    ** 但是又用putty连接,却又变成了乱码,我理解因为putty仍然用的是utf8编码,
    而配置ssh secure shell时,将centos改成gb18030编码了,所以乱码。
    c.到服务器上,重新启动了centos,发现显示中文也正常。
    3. 如果发现ssh secure shell有问题,或相关的引起问题,则重新配置putty使用,
    配置方案可以参考上述配置。
    结论:
    因为ssh secure shell窗口符合window显示,所以暂时定为使用ssh secure shell客户端。
    而其也绑定了ftp上传功能,相对方便。
    变化:考虑建立mysql等多处使用utf-8编码,所有仍然使用putty客户端,系统编码改成utf-8
    ##############################################################
    现象:用SSH软件连接时,中文是乱码解决:修改/etc/sysconfig/i18n文件,将其改成以下内容: 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=”latarcyrheb-sun16″#source /etc/sysconfig/i18n重启机器,问题应该解决了。CentOS更改LANG=”zh_CN.GB18030″SUPPORTED=”zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”SYSFONT=”lat0-sun16″############################################################## 修改 /etc/profile增加export LC_ALL=zh_CN # for linux: zh_CN export LANG=zh_CN # for linux: zh_CN即可解决.

  • 相关阅读:
    实践javascript美术馆的小案例,学习到的东西还是蛮多的,包括javascript编程中的预留退路、分离javascript、以及实现向后兼容等
    HTML5的渐变色 渐变的两种类型 createLinearGradient 和createRadialGradient
    (转)tar 解压缩命令
    VM下的linux系统上不了网?? 使用putty远程登录不上linux的解决方法?
    Js全等和等于
    JavaScript踩坑
    div height 自适应高度 占满剩余高度的方法
    iframe边距问题解决
    Vue.Js初学踩坑
    Linq.js表达式常见写法
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/8993901.html
Copyright © 2020-2023  润新知