MySQL V4.1 乱码终极解决方案

2016-01-29 15:00 2 1 收藏

MySQL V4.1 乱码终极解决方案,MySQL V4.1 乱码终极解决方案

【 tulaoshi.com - MySQL 】

作者: www.quicklinux.org
邮件: support@quicklinux.org

MySQL4.1是比较烦人.支持多语言的细化设置.再加上PhpMyadmin-2.6也比较笨.默认就是改不动的UTF-8.怎么弄都乱码.好了.废话少说.我们来一步步解决这个问题:

1. 修改/etc/my.cnf文件.改成如下内容:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

注意.就是加入了一句: default-character-set=utf8

2. 命令 /etc/init.d/mysqld restart 重新启动MySQL.

3. 打开PhpMyadmin. 选择Lang为"Chines simplifies(zh-utf-8)". 选择"MySQL连接校对为utf8_general_ci". 点"服务器变量和设置". 可以看到:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/mysql/)

character set client utf8 utf8
character set connection utf8 utf8
character set database utf8 utf8
character set results utf8 utf8
character set server utf8 utf8
character set system utf8 utf8
collation connection utf8_general_ci utf8_general_ci
collation database utf8_general_ci utf8_general_ci
collation server utf8_general_ci utf8_general_ci

从这里可以看到character全部变成UTF-8了.

为什么都要改成UTF-8呢?改成GB2312不行吗?解释如下:

我也不想改成UTF-8. 只是PhpMyadmin 2.6在MySQL 4.1的时候只会用UTF-8. 连其他页面的charset也都是UTF-8. 改成GB23122一定会乱码. 我们只能凑PhpMyadmin了. 只有在MySQL 3.23的时候PhpMyadmin才会多一个GB2312的页面charset.这时候是正常的.

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/mysql/)

3. 将以前的MySQL 3.23的库文件导入MySQL 4.1的库.有两种情况:

一是从PhpMyadmin上导入. 这时候你要注意的是在选择库文件的页面左下脚有个"文件的字符集:". 默认是UTF-8. 要改成Gb23122. 否则导进去乱码.
二是在Linux下导入.这时候你需要先在库文件的头部加一行:

SET NAMES 'gb2312';

注意最后也是;号. 别漏了. 然后执行: MySQ -u 用户名 -p 密码 xxx.sql 库名
导入完成以后再用PhpMyadmin打开看. 里面的中文字就是正确的.

4.从MySQL 4.1里导出库文件

一.用PhpMyadmin导出.导出倒是问题不大.如果PhpMyadmin的浏览页面里显示的中文是正常的.那么导出肯定也是正常的.
二.在Linux上导出.如果用mysqldump导出出现了乱码也没有关系.可以运行iconv来转换一下:

iconv -c -f UTF-8 -t GB2312 库文件名 新的Gb2312的库文件名

综上所述.需要注意:

1. 尽量在需要导入的库文件的开头加入 SET NAMES 'Gb2312'; 告诉MySQLl你要导入的是一个Gb2312的文件.

2. 可能你需要这个: SET NAMES 'utf8'; 在登陆到MySQL后用.

3. 把character的一些默认参数改到UTF-8上.有时可以减少一些困扰.不过也不是必须的.

4. 在MySQL上使用: SHOW VARIABLES LIKE 'character_set_%'; 用来查看当前的状态.

5. 如果出现乱码也不要怕.一是你要注意留存原有的备份.二是用iconv来进行转化.

来源:https://www.tulaoshi.com/n/20160129/1494999.html

延伸阅读
标签: Web开发
汗~!2个方法都试了,竟然还是 不行,再用记事本打开看看,玩完了,真傻眼了,连这个也被同化掉了 -_-!!!!!!!!!!!!!! 综上两种方法,对我来说,不仅没帮到忙,反而给我添了乱。受伤,郁闷! 还好,我有备份。OK,这时我灵光一动,表头直接插入META编码吧,都是之前不良习惯留下的后遗症。。。。 现在再用DW2004打开呢,嗷嗷,已经...
随着计算机网络的普及,计算机病毒有了快速传播的机会,并且对数据文件的破坏日益严重,用户需要经常对个人重要数据做异地备份。基于多用户和数据隐私的考虑,提出了个人数据备份系统解决方案。它利用网络存储设备具有的大容量、高可靠性、高安全性特点,为用户提供一定容量的空间来保存个人数据,同时利用软件的权限管理很好地实现个人数据的...
标签: MySQL mysql数据库
现在多数host装的还是MySQL 4.0x 版本以下,如果升级到了4.1x 或者移动到使用4.1x 的主机上,估计会遇到一些问题。我在powweb上遇到了两个问题。 一是数据导入。在phpMyAdmin内导入后,发现中文变成了乱码。搜索学习后,了解到需要设置数据库的collation (校勘),如果你的数据库是utf-8的,设置为utf8_general_ci就可以了。 二是,即使正确导...
标签: Web开发
ajax中文乱码问题在中文中经常会出现这种问题,其实只要稍加注意就不会出现ajax中文乱码这回事情了,注意前后台编码一致.你用的是中文.而ajax传输数据的时候用的是utf-8 ,还有对ajax get方法时最好escape 或urlcode, 代码如下: %@ page contenttype="text/html;charset=gb2312% 如果是用servlet就加 代码如下: response.setcontentty...
标签: Web开发
一类是出现乱码,另外一类是出现javascript系统错误:-1072896658的。提示在XX.innerHTML=xmlhttp.responseText;这行。 其实都是因为编码不统一引起的。解决方法就是加入指定字符编码指令。 一、什么是字符编码 定义见:http://zh.wikipedia.org/wiki/%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81。 通俗的讲:你看到的“我”是一张小图片,每个汉...

经验教程

793

收藏

57
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部