谈谈我对MYSQL乱码的解决办法
来源:互联网 发布:floyd算法时间复杂度 编辑:程序博客网 时间:2024/05/29 09:53
经常更换虚拟主机,而各个服务商的MYSQL版本不同,当导入数据后,总会出现乱码等无法正常显示的问题,查了好多资料,总结出自己的一点技巧:
WINDOWS 下导入应该这样
使用MYSQL的命令
在DOS命令下进入mysql的bin目录下,输入mysql -uroot -p密码 数据库名称<要恢复的数据库, 例如我们要把D盘的一个名称为test.sql的数据库恢复到本地的test2这个数据库,那么就这样: mysql -uroot -p密码 test2以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。
只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");
使用MYSQL的命令
在DOS命令下进入mysql的bin目录下,输入mysql -uroot -p密码 数据库名称<要恢复的数据库, 例如我们要把D盘的一个名称为test.sql的数据库恢复到本地的test2这个数据库,那么就这样: mysql -uroot -p密码 test2以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。
只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");
数据库字符集为utf-8
连接语句用这个
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
还有个方法就是,如果你自己的机器的话,可以更改MYSQL字符集,一般在MYSQ4和MYSQL5这两个版本中有效
- 谈谈我对MYSQL乱码的解决办法
- 谈谈我对MySQL+PHP+Flex开发的见解
- 谈谈作为DBA我对MySQL数据库优化的理解
- mysql 乱码的解决办法
- Mysql乱码的解决办法
- 谈谈我对计算机体系结构的理解
- 谈谈我对BS模式的理解
- 谈谈我对敏捷的理解
- 谈谈我对DI的理解
- 谈谈我对DI的理解
- 谈谈我对未来的想法吧
- 谈谈我对CSS的认识
- 谈谈我对CSS的理解
- 谈谈我对CMMI的认识
- 谈谈我对Qt的理解
- 谈谈我对计算机专业的理解
- 谈谈我对技术发展的一点感悟
- 谈谈我对计算机专业的理解
- MySql日期处理系列-常用的日期推算处理
- CString
- Word2003中按空格时,出现小圆点
- 你不知道的8个Ubuntu功能
- 20种鸡翅的做法
- 谈谈我对MYSQL乱码的解决办法
- [转]排序小结
- sssdddd
- RGB和HSL色彩的相互转换
- 用ASP实现反向连接控制
- MS SQL Server 2000中删除unique key约束的索引
- 前言
- .NET(C#)的项目安装和部署
- 搞笑的程序员20条口头禅