日期:2014-05-16  浏览次数:20719 次

MySql的中文输入和显示乱码问题

一、不能显示中文解决办法:

参考:http://bbs3.chinaunix.net/thread-880131-1-1.html

? ? ? 1:windows平台,因为windows操作系统默认的是用了gb2312这个字符,而mysql在安装的时候,

  默认的是客户端和服务器都用了latin1,所以这就导致一个字符集和字符校验不匹配的问题,

  这个时候只需要找到mysql的配置文件my.ini 找到default-character_set ,把他的参数改

  成gb2312或gbk,然后重启mysql就可以了。一共有两个这样的参数,一个是对客户的,一个是服务器 ? ? ? ? ? ?的,我一般建议是把服务器的设置成国际通用的字符utf8。

? ? ? ?2: linux平台,在linux平台上安装mysql的时候,给于的自由度是很大的,你可以在安装

  选项./configure中找到数据库的字符设置(这个还要麻烦你自己看readme安装文件 ),这个时

  候最好是把字符设置成gbk,因为这个字符集也是linux平台默认安装的中文字符集,然后

  在/etc下找到my.cnf文件(这个文件在安装mysql后要自己把他转移到/etc/下,除非你是

  rpm安装).需要注意的是linux里的很多工具都是不支持中文的,哪怕是vi,你可以在startx

  后执行命令kwrite,来编译文件,这个图形变异软件有一个选项是可以把你所写的东西转换

  成任意的字符集。

二、不能输入中文

? ? ? mySQL的character_set设置为utf8,中文不能储存在mySQL中输入命令:Show variables ? ? ? ? ? ? ? ? ? like'%character%';显示出mySQl当前字符集的变量值。

? ? ?使用命令 :Set character_set_client=gbk;

? ? ? ? ? ? ? ? ? ? ? ?Set character_set_results=gbk;

?将客户端client和结果results设置为:gbk。就可以解决mySQL中无法储存中文的问题了。