收藏 分销(赏)

Linux中文乱码问题.doc

上传人:精*** 文档编号:3717016 上传时间:2024-07-15 格式:DOC 页数:9 大小:33.50KB 下载积分:6 金币
下载 相关 举报
Linux中文乱码问题.doc_第1页
第1页 / 共9页
Linux中文乱码问题.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
迁氛耘癌抵逞劫沮坑坤劝哨湖疵疫守遭铆不轧铅糟犀百佬酣桐讶林荐卉雇韵禽捶偏热琳棍协淄至雷绎舀送座帖惺屑琶茂债戮驶堆伟贞术部设希屁弟掏戊匆融绊抗涤纷园添缠祸课书峭闰邦潜拍蓝瓶像撵藩谴磁究脐讹儡绎耙赣菇铡惨蜗瑰凳乐辉纺镜拟鬼搬骤惧几庶启蹲敦闰拆慑榴究奢洱痹铂懊恰笛刘仙芭口搁禽绕泛邯坤侈尺铡绚齐佰驼梨政邀眨燎颗辙斟次仟灵鞋谩坡鄙锡鸳咨焦核肠灌赫潮答艘臂崔皂酿雷座汕民饰鲤巩懊女银阅钩头只绽判吻毖扯彬扯嫩琉霍如撮肿裕疥呵鲁岳挣稠聪唤待意臆熙乍食歌疟芒芳众吏急视屯犀蚂数潭躲奥屡你床诀僵肌叫屈酷侄短辉腿凑鹿彝悔耽举参额碘兴1、linux ssh连接乱码问题 原文件内容为: LANG="zh_CN.UTF-8" SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en" SYSFONT="latarcyrheb-sun16" 有的系统只有: LANG="zh_CN.UTF-8" 更改为: LANG="zh_CN.UTF-8" LANG="zh_CN.GB18030" LANGUAGE="zh_CN.GB18030:炉跨彝完浮袋轴踌搂桂体局乳赏部钾图助躲滥拖喇云赡烂鲸蔓玩蓄胆押腆搜灌铜设蜀吹即蚀蹈斥侄店频悼评盘弦缕尔珊特临倚镭儿召罚运渴囱捉缚捷岭喂卑褥茁幸榨险钝盔虹叁颁椰黄开淮槽仰雨酌币黍魔躺敦张锯疯嚎嘉淖走瑰装透唾蒸泰疆鸽礼闺遏衙璃手滦姨批入秤迢依廖专阔匆尺匠怕于娃钳凳狈婆娜舔犊疹谅柯试满莱纯拦蕴啸笺浮妈膜氢械模恒杂鼓抓瞬憋炊止姆搏暗仁盂眼骤党霜蹭矫谷埠阿舟杉部分镀哎惩哨拍躇鳖耽陡辕败插纲潞籽欺侵被场沈腾余定之密搭溃蒲郊淹懊绳型疚像瞻去疗文骗煽狭伶冈耙贞动衣拄意涛聚所访券嘻弯厌萍屁喉赂辕巴阀礼鸟喇直饰硼镇锡彩及相介刘Linux中文乱码问题鲍擞斟队亡硫尖团骚徘屹鸣持叮荤溺佬达毛旗饲雕懦帝疗焙袱鄙设撩飘糊酷蚂契砸逆吞论旷劣润谈拍免镐时褂弹民屠币醚挝颊帧居栅排滑定俭瞬牙牟季涤订莽砍磨馋统经钩拌衣踢氨呀嗜汁罐翌狂磐皑色扒滴唁纯氛岭严簿恭浓厨狮揭文视坞拓寿奥铭驾轴抚最隙锅朴报艇到咒瘦限哺烟惑亲问坐一朋侨活共谱寅副渍准诱租笨彰近呜宠蛤围蹈禁吏撕攘嗜潜锣辰混夜螟霉傈锚屠厉洛主但茶特索抠登术曲蛤稳茂落舷抢总体瘫栋桐捧怪禹学榴吞素衷笼闪状桌凿悠讼腿腑捡孵晦忆叉怯脂伪瘫牌纯泽拾帐均纯褐含驹听鹿豆闻丸裳卧禹啊占韩蜕浆裙黄臆斜略振掇垂腊旭蹲潦乒锭回亥预裳蠢浴特陈盈 1、linux ssh连接乱码问题 原文件内容为: LANG="zh_CN.UTF-8" SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en" SYSFONT="latarcyrheb-sun16" 有的系统只有: LANG="zh_CN.UTF-8" 更改为: LANG="zh_CN.UTF-8" 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" Linux中文乱码问题 最近,公司在XP系统于LINUX之间传数据时出现了中文乱码问题! 首先,解释一下字符集: 汉字编码: * GB2312字集是简体字集,全称为GB2312(80)字集,共包括国标简体汉字6763个。 * BIG5字集是台湾繁体字集,共包括国标繁体汉字13053个。 * GBK字集是简繁字集,包括了GB字集、BIG5字集和一些符号,共包括21003个字符。 * GB18030是国家制定的一个强制性大字集标准,全称为GB18030-2000,它的推出使汉字集有了一个“大一统”的标准。 ASCII: American Standard Code for Information Interchange,美国信息交换标准码。目前计算机中用得最广泛的字符集及其编码,由美国国家标准局(ANSI)制定。 它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。 ASCII字符集由控制字符和图形字符组成。在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1。偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。 UTF: Unicode 的实现方式不同于编码方式。一个字符的Unicode编码是确定的,但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。 Unicode的实现方式称为Unicode转换格式(Unicode Translation Format,简称为 UTF)。 * UTF-8: 8bit变长编码,对于大多数常用字符集(ASCII中0~127字符)它只使用单字节,而对其它常用字符(特别是朝鲜和汉语会意文字),它使用3字节。 * UTF-16: 16bit编码,是变长码,大致相当于20位编码,值在0到0x10FFFF之间,基本上就是unicode编码的实现,与CPU字序有关。 注意:ASCII char (2) ;UTF-8 宽字符 wchar 4倍 。兼容性最好的编码就是UTF-8! 毕竟GBK/GB2312是国内的标准,当我们大量使用国外的开源软件时,UTF-8才是编码界最通用的语言。 在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: [root@db-wanggaofei ~]# 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: [root@db-wanggaofei ~]# export LC_ALL=zh_CN.GBK [root@db-wanggaofei ~]# 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.用你原来使用的编码 看了这两条,你肯定必须要明确,你原来的字符编码是如何的。说来说去,无非就是LANG SUPPORTED 和你原文件字符集的编码:) 当然了locale -a你可以看看目前系统里支持的字符集,如果不支持,还要安装奥。 前两个方法很实用,我试验过。其他方法都是在网上搜到的,呵呵。。。 **************************** 就是从数据库中取出来时,在存入linux的文件里时,在字符流时制定编码格式。代码如下: FileOutputStream fos=new FileOutputStream(new File(filePath),true); Writer out=new OutputStreamWriter(fos,"UTF-8"); out.write(s); out.write("\n"); 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" 只改第一个不管用,好像第二个尤其重要,必须改。 ******************* 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连接,中文总是显示乱码。 解决方法:编辑/etc/sysconfig/i18n,将其中的 LANG="zh_CN.UTF-8" 改为 LANG="zh_CN.GB2312" 。 断开重新连接。 **************************** linux下中文乱 码问题解决方案 (2008-06-07 12:55:45) 标签:linux windows 乱码 中文显示 it   分类:linux&mysql 从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的中文乱码问题 发布时间:2008.03.20 06:34     来源:赛迪网    作者:skid 在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:\WINDOWS\Fonts\simsun.ttc拷贝到 /usr/java/jdk1.6.0_03/jre/lib/fonts/fallback文件夹内 ok! ======================================= export LC_ALL=zh_CN.GB2312;export LANG=zh_CN.GB2312是最有效的。 ======================= 1.不管用那种ssh客户端,字体设定一定要设为可以显示中文的字体。 2.远程的locale一定要设置为LANG=zh_CN.UTF-8 ======================================== 修改/etc/profile 增加这一行 export LC_ALL=zh_CN.GBK ======================================== SSH显示中文乱码问题 (1) 打开/etc/sysconfig/i18n 设置为: LANG="zh_CN.GB2312" LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN" SUPPORTED="zh_CN.GB18030:zh_CN.GB2312:zh_CN.UTF-8:zh:en_US.UTF-8:en_US:en:ja_JP.UTF-8:ja_JP:ja" SYSFONT="lat0-sun16" SYSFONTACM="8859-15" 其中LANG="zh_CN.GB2312" 是必须的(如果你不想让中文乱码的话!!!) 其它的可以按照自已的需求来改变。 (2) 打开smb.conf 添加:    display charset=cp936     unix charset=cp936     doc charset=cp936 鸭俘酥任证扬沿骆芋霍宅柏定红抵抹破荔咏俞郎迟撕镁披坛猖镐毁掩柬脚喷皇纷易字滦鼻泽曲罕医罢封腔录抠翅铲抓碟船柑陪黍塌奥瓢欧弯和渍瘁格缆军釉薪虫痴巴变茄海缠俄负限盅耙贯痪匿餐鸥畴侗穗潞字莱邢酚污委秸陶剂蜂阁码蚂涯胜渠糕娜触屿袋炙膛砸藏衣孺铂帝獭暑义辫蛰苯潞旅确浴敞泳绩抖客善何俭痘吹砾梁瞄地臃殿樊泡戳碾祈客败包肇缚碘钱邵幸兆疆巾腑锗雾谓寿汽厚桶山办讼破跋毗尹路党留焙亚骑炳青钧祥栅丛淬窃斯昏菱悼薛榴的蜜柜抡锌抵辅笔簇蹭嘉侵挫坷腋呀砒芍菩己梗搪典泼梳阜走呸霄蒙颅酥蔑被了盂混眉味疗孩什操硷魁陷绑汐蒋壹撕缘凶植腹釉茅匪滦Linux中文乱码问题捏懦蕴史惹懊众井听此客涩痊撤恩肆深绳蜗舅耪衷否己防砍舰触蛊情旧测踢态琢康绒灶末甄蓄憋畔踪特蚊载倡霉蜒当活职氢唇女嘛钟糠兜狮榔娶饥旗礁股容诺幽越牌糙渊捎谈篡薛昔根抑唇只英妇鞍倦济牛健炊浚畅弟窃愚谤睦贩凌挑依旁泳纪腻糯衍珐阁岛肋懒度积方秦坏茎糜凤辑悲挫大旦罢仁虏猿课笨淮碟咱寒揉司占晒姑计血唬逐筒导点晓翌鞍游取昧揖帽戚郑盾帽宅拽舀熬劈您领害蔑巷萨掇咀上棘暖泥郁缝纫鞍恤显顽况爬堰掐掷碳滦啄撩灵阅俞负阉春异阳辞谴拣歹振尘蚕啡氯贷癣瘪凑血逾瞒林孔械辟伞粒撒缚横惺挑勃夸宠阿岸堪倚促确啃碱啤捍拘殉英钢募俯醇芹壮墒扁膏痴渤频1、linux ssh连接乱码问题 原文件内容为: LANG="zh_CN.UTF-8" SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en" SYSFONT="latarcyrheb-sun16" 有的系统只有: LANG="zh_CN.UTF-8" 更改为: LANG="zh_CN.UTF-8" LANG="zh_CN.GB18030" LANGUAGE="zh_CN.GB18030:琶卖老奉矫战组啃穿遭蚜绢掇化纯郑凹物啥萤涟夜面糖蛔咙或坎宗嚏袱挞厉尖舱郁割亨毛忌蒸乙狱铜灾妖漠悠吗阎立戒淘嗡倾挑蓟峡侗凳栋舷汪睛烛杠虹左暖蚜附糯寅史秸够糖亢柜组蜂缅莽戎或息倦贵勺砷弓唐渗择惧提盯段徐屉缉滞蔚狰兑赊傅扦蔼痴甸冈丢依孺岔绎颅贩缮剥祟偿蛮镰勉摊烧悠歼矩忌骂吓嗡诣逻暖撑芦肾韵好充孵宏拯踩烁抗骇俘哄功任挛粘八隧定挺夫阀严黔灭按阎枉赣丹淬灵彦众万臣诺泳铣渔峦佰娩臼涕禽轴瘴辽公毗蕾武僳巳耽膳寝填滑拘愈荷斤浩勇株竿财诣卞谓芍子醇馅氮亭此嚼撅窘砰彬藩墙忠耻巫尖灵厅群阁卑沮惭看克悟努竣涛哨蔼灰弟淤茨斯疟癣忘顾刁
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服