昨晚网站从window空间转到Linux空间,MYSQL数据库也就要做一次导出再导入,但导入数据后全部变成乱码了,试遍了各种方法,网上对MYSQL乱码问题的方案各式各样,但没有一个是真实解决我的问题,后台经过研究,终于解决了,也就是默认字符集的问题,但操作解决办法其实很难简单。下面安舟网络给大家简述一下解决方案:

 

phpmyadmin中读取或插入数据乱码,需要注意(以GB2312为例,不过昨晚我是说UTF-8的,方法一样,而且我还是建议大家尽量用UTF8吧):

  1、phpMyAdmin中的MySQL连接校对应选择与数据库字符集一样的值。

  2、Lanauage一般都是选择"中文 - Chinese simplified"。碰上会乱码则选择"中文 - Chinese simplified-gb2312"再重试看。

  假设数据库字符集应为GB2312:

  1、在创建数据库之后先慢些导入SQL脚本,要先修改数据库默认字符集。

  点数据库名称,点右上方的“操作”,画面最下面有个“整理”下拉框,这个代表着数据库默认字符集,他它修改为gb2312_chinese_ci 就是GB2312字集符。

  2、然后修改phpmyadmin默认的连接校对及language

  点左上方的一个小房子的图标,进入phpmyadmin首页。

  MySQL连接校对选与字符集一样的值,即"gb2312_chinese_ci"。

  language要选择"中文 - Chinese simplified",而不是"中文 - Chinese simplified-gb2312"(如碰上会乱码则选择gb2312再重试)

  然后点数据库名称,选择"Import"进行SQL脚本导入,语言选择gb2312,确定导入。

  3、PHP程序里的字符集连接修改

  如果在phpmyadmin看到是中文而网站读取出来是乱码,那么就要修改程序读取的字符集了。

  PHP中需要在连接数据库后再执行一段SQL查询:

  mysql_query("SET NAMES 'gbk'");