ubuntu下设置数据库字符集

就linux环境下出现的数据库乱码的问题,以ubuntu为例进行的总结

ubuntu环境设置的字符集utf8,windows默认字符集是GBK,Ubuntu的默认字符集为utf-8,这使 得在用telnet登录远程服务器或查看windows文件时出现乱码。需要将ubuntu环境设置为GBK或GB2312,或设置软件使其正确显示汉 字。下面以GBK字符集为例进行说明:

一、修改Ubuntu默认字符集为GBK

1、首先设置sudo vi /var/lib/locales/supported.d/local
    添加一行 zh_CN.GBK GBK
    sudo locale-gen生成locale
2、修改ubuntu的字符集

  • 方法一: 修改用户目录下的.profile文件,增加以下内容:

LANGUAGE=”zh_CN:zh:en_US:en”
            LANG=zh_CN.GBK 
    重新登录即可。
    这个方法只对该用户有效。

  • 方法二:修改/etc/environment,增加以下内容:

    LANGUAGE=”zh_CN:zh:en_US:en”
    LANG=zh_CN.GBK
    然后重启X即可
    这个方法对没有设置LANG及LANGUAGE环境变量的用户有效

二、设置软件命名其正常显示GBK

这需要软件本身支持多字符编码,最常见的是IE等浏览器,可以通过设置编码显示GBK字符集。Ubuntu下的一些软件也支持此功能,以ubuntu的终 端程序为例,使其正常显示GBK编码的方法是:在termial窗口上点击菜单:终端->设置字符编码->选择GBK即可。
##########################################
解决文件名,mp3标签,文本文件的中文乱码
从windows转移到ubuntu的用户,常常会发现自己在windows下创建/下载/保存的文件经常性出现乱码问题(kubuntu出现问题的可能性更高一些)。而使用默认播放器打开以往的音乐文件(mp3等)时,出现乱码的机会更是接近100%。
这些问题的解决方案在ubuntu使用技巧中已被收录,但是由于问题的普遍性,我认为有必要转移到这里。
转换文件名由GBK为UTF8
sudo apt-get install convmv
convmv -r -f cp936 -t utf8 –notest –nosmart *
转换文件内容由GBK到UTF8 iconv -f gbk -t utf8 $i > newfile
转换 mp3 标签编码
sudo apt-get install python-mutagen
find . -iname “*.mp3” -execdir mid3iconv -e GBK {} \;
#####################################
buntu默认的打开.txt文件用的是gedit,可gedit默认编码是UTF8,打开windows下编辑的gb2312的文档都是乱码。解决方法之一就是把gedit的编码改为GB2312,方法如下:
在Applications菜单上点右键,选择EditMenu.在MainMenu的对话框中勾选SystemTools-ConfigurationEditor,并从Applications菜单中开启。
依次开启/apps/gedit-2/preferences/encodings/双击右侧auto_detected,在弹出对话框中点选Add,添加Values值为GB2312,确定后选中,点选Up按钮将其移至第一位。
同样方法,对show_in_menu进行设置,并将GB2312置于首位。
还有一种方法是用openoffice打开.txt文件时,会让你选择编码,选GB2312就行了。
***********************************************
1.系统默认编码
我们知道在中文 Windows 下一般来说系统的默认编码是 GBK, 从 Java 开发的角度来说, 就是在进行诸如 Java 源代码编译, 文件读写等操作时, 默认使用的编码是 GBK; 而我们参照一般的 Ubuntu 中文安装文档, 可能会建议将默认的语言设置为 zh_CN.UTF-8, 这样会带来一些问题, 比如我在 Windows 使用 Eclipse 时的编辑器的默认编码是 GBK, 但是在 Ubuntu 下面就是 UTF-8, 同样是使用 Eclipse, 在 Windows 下的中文文档到了 Ubuntu 中会产生乱码, 必须手工逐个文档设置属性中的编码为 GBK 才可以正常; 一些测试代码也是以默认编码读取文件的, 这些代码读取出来的文件内容也会包含乱码.
所以, 最好是将系统的默认编码设置为 GBK, 这样和 Windows 下面的开发环境最接近. 设置的方法应该不止一种, 我采用的是编辑 /etc/environment, 改成这个样子:
LANGUAGE=”zh_CN:zh:en_US:en”
GST_ID3_TAG_ENCODING=GBK
LANG=zh_CN.GBK
LC_CTYLE=zh_CN.GBK
**********************************************
Ubuntu 中文编码设置
今天开始把工作环境全部迁移到Linux,一天下来,算平静。很庆幸当初在win下面用了Mozilla Thunderbird邮件客户端,而不是OutLook,这简直太方便了,可以直接把上百兆的邮件存放目录复制到linux下直接用,与之形成鲜明对比 的是微软的新版live Messager,今天发现微软的这个东西甚至不支持安装在他们自己的WinXP 64/Wind2003/2008上面?我没有什么可说的呢。
Ubuntu 默认采用UTF8编码,可以方便global。但对中文支持,还不细致,即便默认采用中文安装,也并不会自动添加GB*等支持,致使在Ubuntu下访问部分Win文本文件时,出现乱码。
I. 配置系统环境
执行 sudo vi /var/lib/locales/supported.d/zh
加入以下配置参数
zh_CN.GB18030 GB18030 (最新汉字编码字符集,向下兼容GBK,GB2312)
zh_CN.GBK GBK (汉字扩展编码,向下兼容GB2312, 并包含BIG5全部汉字)
zh_CN.GB2312 GB2312 (简化汉字编码字符集, 最近有客户要我们改进GB2312,太看得起我们了,我只能说:”NO!”)
zh_CN.GB18031 GB18031 (数字键盘汉字编码输入,面向手持设备,我的Nokia3120从来就是发短信,接听电话,无法和PC通讯,就不用这个了。     maybe用Google Android SDK的大侠们需要这个)
zh_HK.BIG5 BIG5 (繁体)
zh_TW.BIG5 BIG5 (繁体)
然后执行 sudo locale-gen 
提示以下信息,成功了
zh_CN.GB18030… done
zh_CN.GBK… done
……
II. 系统环境支持GB*内码了,但用vi, gedit等工具访问文件还会继续乱码,需要针对不同的工具分别配置,使之自己检测支持范围内的编码
e.g. vi
执行 sudo vi /etc/vim/vimrc 
加入以下配置参数
let &termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk,gb2312,big5
e.g. gedit
执行 sudo gconf-editor
选择 apps/gedit-2/preferences/encodings
找到 auto_detected 编辑,在Values中分别加入 GB18030,GBK,GB2312,BIG5

时间: 2024-10-24 10:29:01

ubuntu下设置数据库字符集的相关文章

Ubuntu下sqlite3的配置与使用(以后会说到Ubuntu下C++数据库应用开发程序(窗体程序))

/***************************************************************  * Name:      CaculatorMain.h  * Purpose:   Defines Application Frame  * Author:    zhangaihua ([email protected])  * Created:   2013-12-25  * Copyright: zhangaihua (http://blog.csdn.ne

ubuntu 下 mysql数据库的搭建 及 数据迁移

1.mysql的安装 我是使用apt-get直接安装的 :sudo apt-get install mysql-server sudo apt-get install mysql-client 2.配置mysql管理员密码 sudo mysqladmin -u root 当前密码 新密码 安装的时候貌似也没遇到什么障碍 3.查看mysql的状态 sudo netstat -tap | grep mysql 4.启动/停止/重启mysql sudo  /etc/init.d/mysql start

ubuntu下设置locale

在bash下中文乱码,因为locale没有正确设置,在bash下执行: /usr/share/locales/install-language-pack zh_CN sudo locale-gen 编辑用户主目录下 ~/.bashrc 文件,添加内容 export LANG="zh_CN.UTF-8" export LANGUAGE="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8" ubuntu下设置locale

ubuntu下设置tomcat开机自动启动

一.ubuntu下设置tomcat开机自动启动 1.进入tomcat下的bin目录 命令:cd   /usr/local/tomcat/apache-tomcat-8.0.48/bin 2.复制catalina.sh到/etc/init.d目录下 命令: sudo  cp  /usr/local/tomcat/apache-tomcat-8.0.48/bin/catalina.sh   /etc/init.d 3.重命名 命令:sudo  rm  /etc/init.d/catalina.sh 

Ubuntu下设置远程登入

一,为了更好的利用window和Linux的开发环境,在嵌入式的开发中,我们通常用以下三个步骤完成嵌入式的开发: 1) 在Windows开发环境下,完成代码的编写(保证没有错误,能进行编译),常用的工具有ADS,Source Insight: 2) 在Windows环境下编写好源码后,在Linux在进行编译,常用的工具有GCC 3) 把Linux环境下编译,链接后得到的镜像文件,下载到ARM芯片中,进行烧写.(这个过程在Windows环境下完成) 所以在此过程中,我们要实现Linux 和Wind

UBUNTU 下设置全局 path变量

全局的对所有用户都可以的使用的PATH: 可以通过修改配置文件: /etc/bashrc 和 /etc/profile 来时配置, 全局的PATH; 例如: vi /etc/profile 在最后后加一行: PATH=THE_SET_GLOBLE_ENV_PATH:$PATH;接着换行: export PATH 同样也需要在etc/profile配置 PATH=THE_SET_GLOBLE_ENV_PATH:$PATH;接着换行: export PATH 如果使其立即生效: source /et

ubuntu下设置程序开机自启动的几种方法

1,这种也是最常用的一种 rcconf: sudo apt-get install rcconf root 下运行: rcconf 功能更全的:sysv-rc-conf sudo apt-get install sysv-rc-conf 运行:sysv-rc-conf 这个改起来很简单,自己试一下就知道了. 2, 直接改/etc/rc0.d ~ /etc/rc6.d和/etc/rcS.d下的东西,S开头的表示启动,K开头的表示不启动, 例如:想关闭vsftpd的开机自动启动,只需sudo mv

在Ubuntu下设置环境变量

在Ubuntu中有如下几个文件可以设置环境变量 /etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. /etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量 ~/.profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他

在Ubuntu下设置默认编辑器

在默认情况下,Ubuntu 系统会为用户预设程序.就拿文本编辑器来说吧,Ubuntu 预设的是 Nano,对某些朋友来说,使用 Vim 可能更得心应手些.那么如何更改这些预设的程序呢? 你可以使用 sudo update-alternatives --config editor 命令来更改默认的文本编辑器.在我的系统中,执行该命令后输出结果如下: Selection Alternative ----------------------- 1 /usr/bin/vim 2 /bin/ed *+ 3