php读取mysql中文数据出现乱码的解决方法

yipeiwu_com5年前Mysql基础

1.PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了

解决方法:选择'UTF8'或者'gb2312',这样客户浏览器会自动选择并出现正确的中文显示。注意:'UTF8'或者'gb2312'都可以正确显示中文的。

2.数据库MySQL中的编码类型不正确。

解决方法:创建数据库的时候,MySQL 字符集选择'UTF8',MySQL 连接校对选择utf8_general_ci,这样创建的数据库用来存储中文肯定没有问题,
否则,你的中文首先在MySQL中就是乱码,更不要期望它会给你在PHP页面中显示正确。

3.与平时的脚本编辑环境有关。比如,有些内容是自己用word写的,有些是用记事本写的,有些用editplus、ultraplus等文本编辑器。有时候就直接在DW中写中文了,

解决方法:尽量用同一种编辑器。如果是拷贝来得既有的内容,建议用ultraplus中的编码转换功能把它转换成utf8或者gb2312。

到底转换成什么类型并不重要,关键要求你的PHP WEB应用程序中的编码要一致就行。

4.编程访问 MySQL时,建议添加一行代码:mysql_query("SET NAMES 'GBK'");

相关文章

MySql 按时间段查询数据方法(实例说明)

时间格式为2008-06-16 查询出当天数据: SELECT * FROM `table` WHERE date(时间字段) = curdate(); 查询出当月字段: SELECT...

Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法

错误提示:Error: Can't create/write to file 'C:\WINDOWS\TEMP\#sql_738_0.MYD' (Errcode: 17) Errno....

php中转义mysql语句的实现代码

你总不可能对每一个这样的特殊字符都人工进行转义,何况你通常处理的都是表单自动提交的内容。 所以,应该使用mysql_real_escape_string函数: mysql_real_es...

PHP操作MySQL事务实例

本文实例讲述了PHP操作MySQL事务的方法,分享给大家供大家参考。具体方法如下: 一般来说,事务都应该具备ACID特征。所谓ACID是Atomic(原子性),Consistent(一致...

优化使用mysql存储session的php代码

之前写过两篇文章《自定义SESSION(二)——数据库保存》和《我为什么不使用session》   但后来发现都有问题。前者处理在实际中几乎没什么用处,而且sessi...