关于Linux下中文乱码的完整解决方案
- 格式:doc
- 大小:31.00 KB
- 文档页数:3
Linux平台下修正MySQL中文乱码问题操作系统环境:
RHEL4.6、MySQL 4.1.22
现象:
在此电脑上安装了Tomcat作为web服务器,部署了一个项目,通过jdbc连接到mysql数据库。
但是发现中文输入输出乱码现象。
解决步骤:
1. 找到mysql的配置文件
网上说,mysql的配置文件就是/etc/f。
但是这个文件并不一定存在,由于你可能采取的MySQL安装方式跟网上所说的不一样,就不一定能够找得到/etc/f。
因此,你需要使用find命令查找cnf文件。
记得不要去找f因
2. 打开f修改编码
vi /etc/f --打开f文件
显示结果如下:
在[mysqld]下添加
default-character-set=GBK
在[client]下添加
default-character-set= GBK
3. 重启mysql
根据你安装mysql的方式的不同,采用不用的命令来重启你的mysql。
如果你配置过使用mysqld自启动方式,可以执行“/etc/rc.d/init.d/mysql restart”来重启。
或者你把mysql配置成系统服务的方式,你可以执行“service mysql restart”。
astah,linux下中文输入乱码有关问题解决方案_1竭诚为您提供优质文档/双击可除astah,linux下中文输入乱码有关问题解决方案篇一:关于linux下中文乱码的完整解决方案关于linux下中文显示为乱码的完整解决方案linux,作为一款免费的操作系统,相对于高额费用的windows系列操作系统,有着更强的优势,所以,许多人也都开始学习linux操作系统的知识。
但是,由于windows系列操作系统还是当今社会的主流,所以,人们少不了在windows和linux系统之间进行文件的传输。
但是一个新问题出现了,那就是中文乱码问题,这个问题困扰着无数的linux用户,尤其是linux的初学者,对于这个问题相当的头疼。
主要问题如下:1、ssh中,中文显示为乱码:在windows 系统下,用ssh远程连接linux系统,对于在linux下显示正常的中文,在ssh中却显示为完全无法识别的乱码字符。
2、中文传输乱码:把windows中的中文文件传输到linux 操作系统中,原本在windows下显示正常的文件,到了linux 系统下,成了无法识别的乱码。
分析其原因,是因为linux和windows系统下,所用户的字符集不同,linux系统使用的是unicode字符集,而windows使用的是gb 字符集。
所以,在网上出现了两种解决方案:方法一:使用putty代替secureshellclient(ssh):在putty终端设置中,修改window-〉translation中的Receiveddataassumedtobeinwhichcharacterset值为linux 中的字符集utF-8,再连接linux,发现这时,linux中的中文可以正常显示了。
但是一个新问题出现了,把windows中的文件上传了linux中,原本在windows下显示正常的中文文件,现在却成了乱码。
所以,这个方法无法彻底解决乱码问题。
使用源码安装unzip,解决中文乱码问题1.下载unzip-5.52:/RAYSLX/pool/main/u/unzip/2.卸载linux系统自带的unzip:#rpm -e unzip3.解压文件:#tar zxvf unzip_5.52.orig.tar.gz4.进入unzip目录#cd unzip-5.525.找到文件unzpriv.h (修改内容大概在文件末尾),修改以下内容:/* Convert filename (and file comment string) into "internal" charset.* This macro assumes that Zip entry filenames are coded in OEM (IBM DOS) * codepage when made on* -> DOS (this includes 16-bit Windows 3.1) (FS_FAT_)* -> OS/2 (FS_HPFS_)* -> Win95/WinNT with Nico Mak's WinZip (FS_NTFS_ && hostver == "5.0") * EXCEPTIONS:* PKZIP for Windows 2.5 and 2.6 flag their entries as "FS_FAT_", but the* filename stored in the local header is coded in Windows ANSI (ISO 8859-1). * Likewise, PKZIP for UNIX 2.51 flags its entries as "FS_FAT_", but the* filenames stored in BOTH the local and the central header are coded* in the local system's codepage (usually ANSI codings like ISO 8859-1).** All other ports are assumed to code zip entry filenames in ISO 8859-1.*/#ifndef Ext_ASCII_TO_Native# define Ext_ASCII_TO_Native(string, hostnum, hostver, isuxatt, islochdr) \if (((hostnum) == FS_FAT_ && \!(((islochdr) || (isuxatt)) && \(hostver) >= 25 && (hostver) <= 26)) || \(hostnum) == FS_HPFS_ || \((hostnum) == FS_NTFS_ && (hostver) == 50)) { \_OEM_INTERN((string)); \} else { \_ISO_INTERN((string)); \}#endif注释其他语句,只留_ISO_INTERN((string)),修改如下:#ifndef Ext_ASCII_TO_Native# define Ext_ASCII_TO_Native(string, hostnum, hostver, isuxatt, islochdr) \ /* if (((hostnum) == FS_FAT_ && \* !(((islochdr) || (isuxatt)) && \* (hostver) >= 25 && (hostver) <= 26)) || \* (hostnum) == FS_HPFS_ || \* ((hostnum) == FS_NTFS_ && (hostver) == 50)) { \* _OEM_INTERN((string)); \* } else { \ */_ISO_INTERN((string)); \/* } */#endif6.复制unix编译文件到当前目录下#cp unix/Makefile .7.安装#make prefix=/usr linux#make prefix=/usr install。
linux各种中文乱码的解决(fedora)linux各种中文乱码的解决(fedora)分类:单纯Linux 2011-11-19 21:41 284人阅读评论(0) 收藏举报引用请注明出处:/int64ago/article/details/6988020 以fedora为例:一、文本txt中文乱码:#gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'GB18030', 'GB2312', 'GBK', 'BIG5', 'CURRENT', 'UTF-16']"#gsettings set org.gnome.gedit.preferences.encodings shown-in-menu "['UTF-8', 'GB18030', 'GB2312', 'GBK', 'BIG5', 'CURRENT', 'UTF-16']"二、压缩加压zip、rar乱码:####前提已经加了rpmfushion源#sudo yum install p7zip unrar三、播放器VLC乱码:首先启动VLC,按Ctrl+P,左下角的显示设置选全部,依次点开:视频-字幕/OSD-文本渲染器右侧的字体栏中,选择一个中文字体。
(我选的是/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc)接着点开:输入/编码-其它编码器-字幕右侧的字幕文本编码选 GB18030然后把自动检测 UTF-8 字幕格式化字幕前面的勾去掉。
linux 乱码的解决方法嘿,朋友们!咱今天来聊聊 Linux 乱码这档子事儿。
你说这乱码就像调皮的小精灵,时不时就蹦出来捣乱,让人头疼得很呐!咱先来说说为啥会出现乱码。
就好比你去一个陌生的地方,人家说的话你听不懂,那可不就懵了嘛!Linux 系统也一样,有时候它遇到一些它不太熟悉的字符编码格式,就搞不明白了,然后乱码就出现了。
那咋解决呢?嘿,这办法还不少嘞!首先啊,咱得看看系统的语言环境设置对不对。
就像你出门得先选对要穿的衣服一样,得合适才行呀!如果设置错了,那不乱码才怪呢!咱得把它调整到正确的编码格式,比如 UTF-8 啥的,这可是个常用的好东西呢!然后呢,再检查一下那些文件的编码。
哎呀,就好比你看书,要是书的印刷有问题,那你能看清内容才怪嘞!要是文件本身的编码就不对,那显示出来可不就乱套啦!得把它们转换成合适的编码。
还有啊,有些软件也可能会导致乱码哦!这就像一个团队里有个捣蛋鬼,得把它揪出来才行。
看看是不是软件的设置有问题,或者是不是该更新一下啦。
你想想看,要是你电脑上老是出现乱码,你看着不心烦呀?那感觉就像你走路老是被石头绊脚一样,多闹心呐!所以啊,咱得把这些乱码问题给解决咯,让咱的 Linux 系统顺顺畅畅的。
比如说,你正在处理一个很重要的文档,结果打开一看,全是乱码,那你不得抓狂呀!这时候你就得赶紧用咱说的这些方法去试试,把乱码赶跑。
再比如,你在看一些外文资料,结果因为乱码啥都看不清,那不就白费劲了嘛!所以说呀,学会解决 Linux 乱码问题可太重要啦!总之呢,Linux 乱码并不可怕,只要咱找对方法,就能轻松搞定。
就像打怪兽一样,找到它的弱点,一下就把它打败啦!可别让这些乱码影响了咱使用 Linux 的好心情哟!大家加油吧!让咱的 Linux 系统一直清清爽爽,没有乱码的困扰!。
Linux中⽂显⽰乱码?如何设置centos显⽰中⽂怎么设置Linux系统中⽂语⾔,这是很多⼩伙伴在开始使⽤Linux的时候,都会遇到⼀个问题,就是终端输⼊命令回显的时候中⽂显⽰乱码。
出现这个情况⼀般是由于没有安装中⽂语⾔包,或者设置的默认语⾔有问题导致的。
以centos为例,操作Linux怎么查看语⾔,设置修改语⾔1.查看当前系统语⾔登陆linux系统打开操作终端之后,输⼊ echo $LANG可以查看当前使⽤的系统语⾔。
如2.查看安装的语⾔包查看是否有中⽂语⾔包可以在终端输⼊ locale命令,如有zh cn 表⽰已经安装了中⽂语⾔3.如果没有中⽂语⾔呢可以通过⽹上下载安装中⽂语⾔包yum groupinstall chinese-support安装完后输⼊locale命令4.如何修改系统语⾔为中⽂1 临时更换语⾔如果只是临时更换linux系统的语⾔环境,可以通过输⼊设置 LANG=语⾔名称,如中⽂是 zh_CN.UTF-82.修改系统默认语⾔以上⽅法是通过修改设置系统默认的语⾔配置如v i /etc/sysconfig/i18n (注意改好之后重启⼀下系统)5.其他注意事项如果按照以上⽅法设置修改设置中⽂语⾔还是不⾏的话,注意您的链接终端选择的编码。
如xshell为例,把终端的编码选择中⽂,或者UTF8即可Centos6解决⽅法:1. yum install fontconfig-devel2. yum groupinstall chinese-supportcentos7系统:1. yum install fontconfig-devel2. yum groupinstall fonts。
linux解决中文乱码及配置全英文环境一. Ubuntu默认的中文字符编码Ubuntu默认的中文字符编码为zh_CN.UTF-8,这个可以在/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:en_US:en"第二行即是默认的中文字符编码。
注:可以通过这里修改默认的中文编码字符,比如修改为:zh_CN.GBK。
二. 添加中文字符编码的方法1. 直接使用locale-gen在终端输入命令:sudo locale-gen zh_CN.GB18030即可完成中文字符集的添加。
完成后可以转到/usr/lib/locale/,下面已经有一个zh_CN.gb18030文件夹;在超级终端输入命令:gedit /var/lib/locales/supported.d/local,可以发现文件中多了一行:zh_CN.GB18030 GB18030。
说明添加成功。
2. 通过修改/var/lib/locales/supported.d/local文件在终端输入命令行sudo gedit /var/lib/locales/supported.d/local可以看到如下内容:zh_CN.UTF-8 UTF-8en_US.UTF-8 UTF-8在文件尾添加中文字符集zh_CN.GBK GBK保存后退出。
在终端输入命令:sudo dpkg-reconfigure localesGenerating locales...en_AU.UTF-8... doneen_BW.UTF-8... doneen_CA.UTF-8... doneen_DK.UTF-8... doneen_GB.UTF-8... doneen_HK.UTF-8... doneen_IE.UTF-8... doneen_IN.UTF-8... doneen_NZ.UTF-8... doneen_PH.UTF-8... doneen_SG.UTF-8... doneen_US.UTF-8... doneen_ZA.UTF-8... doneen_ZW.UTF-8... donezh_CN.GBK... donezh_CN.UTF-8... up-to-datezh_HK.UTF-8... donezh_SG.UTF-8... donezh_TW.UTF-8... doneGeneration complete.即可生成相应文件:/usr/lib/locale /zh_CN.gbk/ 最后重启ubuntu。
关于Linux下中文显示为乱码的完整解决方案Linux,作为一款免费的操作系统,相对于高额费用的Windows系列操作系统,有着更强的优势,所以,许多人也都开始学习Linux操作系统的知识。
但是,由于Windows 系列操作系统还是当今社会的主流,所以,人们少不了在Windows和Linux系统之间进行文件的传输。
但是一个新问题出现了,那就是中文乱码问题,这个问题困扰着无数的Linux用户,尤其是Linux的初学者,对于这个问题相当的头疼。
主要问题如下:
1、ssh中,中文显示为乱码:在Wind ows 系统下,用ssh远程连接Linux系统,对于在Linux下显示正常的中文,在ssh中却显示为完全无法识别的乱码字符。
2、中文传输乱码:把Wind ows中的中文文件传输到Linux操作系统中,原本在Wind ows下显示正常的文件,到了Linux系统下,成了无法识别的乱码。
分析其原因,是因为Linux和Wind ows系统下,所用户的字符集不同,Linux系统使用的是Unicod e字符集,而Wind ows使用的是GB字符集。
所以,在网上出现了两种解决方案:
方法一:使用Putty代替secure shell client(ssh):在Putty终端设置中,修改wind ow-〉Translation中的Received data assumed to be in which character set值为Linux 中的字符集UTF-8,再连接Linux,
发现这时,Linux中的中文可以正常显示了。
但是一个新问题出现了,把Wind ows中的文件上传了Linux 中,原本在Wind ows下显示正常的中文文件,现在却成了乱码。
所以,这个方法无法彻底解决乱码问题。
方法二:修改Linux默认字符集,把Linux的默认字符集修改为和Wind ows中的字符集一致的GB18030或GB2312,重启Linux系统后,再用ssh终端连接,这时,修改字符集后的中文文件都已经能正常显示,而且,从Wind ows中新上传的中文文件也能正常显示了。
这个方法不错。
但是,Linux系统在安装时,产生的中文字符(中文文件夹名、中文文件名、中文文件)在新的字符集下,却又全都显示成了乱码。
有什么方法可以彻底解决乱码问题,使在Linux系统下,所有的中文字符都可以正常显示呢?
本人综合了网上的各种解决方案,经过多次实验,终于找到了一个比较完整的解决方案,步骤如下:
第一步:用英文安装Linux系统:在安装Linux系统时,采用默认的英文安装,而不要使用中文。
第二步:修改字符集:在Linux系统安装成功以后,修改系统的默认字符集,操作如下:
在Fedora Linux系统中,编辑/etc/sysconfig/i18n文件,修改LANG 值为zh_CN.GB2312或zh_CN.GB18030,保存退出。
在OpenSuSE Linux系统中,编辑/etc/sysconfig/language文件,
修改RC_LANG的值为zh_CN.GB2312或zh_CN.GB18030,同时修改ROOT_USES_LANG的值为yes,保存退出。
修改完成,保存并重启系统后,在用ssh,putty终端进行连接,所有的中文字符都显示正常了,再试试用ssh自带的ftp工具上传一个文件试试,是不是都能正常显示了呢?再在Linux的Xwind ow中,和自带终端中进行查看,所有的中文也都能正常显示了。