`
nswish
  • 浏览: 105421 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[转]php&mysql&utf8中文乱码的解决方法

    博客分类:
  • PHP
阅读更多

 

转自: http://blog.wyj.me/php-u0026amp-mysql-u0026amp-utf8-chinese-garbled-solution/

 

1.mysql数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MYSQL乱码.

修改数据库编码,如果是数据库编码不正确,可以在phpmyadmin 执行如下命令:

Alter DATABASE ‘test’ DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是将test数据库的编码设为utf8.


2.MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.

修改表的编码:

Alter TABLE ‘category’ DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是将一个表category的编码改为utf8.

 

3.MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.

修改字段的编码:

Alter TABLE ‘test’ CHANGE ‘dd’ ‘dd’ VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

以上命令就是将test表中 dd的字段编码改为utf8.

 

4.用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成PHP页面乱码.

如果是这种情况容易解决,只需检查下页面,修改源文件的charset即可.

 

5.如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码.

这种情况也是修改页面charset即可.

 

6.PHP页面字符集不正确.

为了避免PHP页面乱码的发生,PHP页面开始第一句

header(“content-type:text/html; charset=utf-8″);

//强行指定页面的编码,以避免乱码

 

7.PHP连接MYSQL数据库语句指定的编码不正确.

在连接数据库的语句中.

mysql_connect(‘localhost’,'user’,'password’);

mysql_select_db(‘my_db’);

mysql_query(“set names ‘utf8′”); //select 数据库之后加多这一句

 

分享到:
评论

相关推荐

    PHP+MYSQL使用UTF8中文乱码终极解决办法

    适用于初学者,本人也是遇到这类问题,在网上查找并测试了好多方法,终于解决了,希望对大家有用

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

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

    mysql乱码解决方法

    经过测试,总结版...内容有转载的...

    php页面,mysql数据库转utf-8乱码,utf-8编码问题总结

    PHP页面转UTF-8编码问题 1.在代码开始出加入一行: header(“Content-Type: text/html;charset=utf-8”); 2.PHP文件编码问题 点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:...

    常见php与mysql中文乱码问题解决办法

    乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号。 症状:用PHPmyAdmin输入汉字正常,但当PHP网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少...

    不乱码批量修改mysql数据库、表、字段编码(gbk到utf8php脚本)

    批量修改mysql数据库、表、字段编码(gbk到utf8php脚本) 可以把整个数据库、表、字段编码全部从gbk_chinese_ci 到 utf8_general_ci 转换,不会乱码哦 狂拽吊炸天!!!

    Mysql中文乱码问题的最佳解决方法

    一般来说,造成MySQL出现中文乱码的因素主要有下列几点: 1.server本身字符集设定的问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程序(例如php)的连线语系设定问题 对此,...

    PHP读MYSQL中文乱码的快速解决方法

    只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下: $mysql_mylink = mysql_connec

    PHP连接MySQL查询结果中文显示乱码解决方法

    之后在数据库查询前添加复制代码 代码如下:mysql_query(“set names ‘utf8′”);该行语句的编码值也应当与上面的编码值一样。 总而言之,网页保存的编码类型、网页的charset=utf-8、和执行的set names utf8语句的...

    PHP读MYSQL中文乱码的解决方法

    只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下: $mysql_mylink = mysql_conn

    MYSQL数据库管理工具UTF8hc-14722

    呵呵,细节,都是细节,首先,UTF8出现的乱码,我给更新了,对于程序员来说,这里给提示MYSQL语法,这个有点不好找,反正我用着不错!最根本的,要告诉大家,我这个,现在已经不再做GB2312板本的了,因为

    MySQL的中文UTF8乱码问题

    MySQL在my.ini里设置default-character-set=utf8,建表时加了CREATE TABLE `xxx ` (myname varchar(255)) ENGINE=MyISAM DEFAULT CHARSET=utf8,用xxx.php执行insert/update/select出来的都是中文,貌似没问题,但是...

    mysql 中文乱码 解决方法集锦

    第一个方法: MySQL 4.1 中文乱码的问题 最近要将 MySQL 4.0 升级到 MySQL 4.1 ,发现了中文乱码的问题,希望以下见解对大家有用。 1. MySQL 4.1 在文字上有很大改进,它有了 Character Set 与 Collation 的慨念。 2...

    PHP+MySQL存储数据常见中文乱码问题小结

    2. 使用MYSQL中创建表、或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码. 3. PHP页面的字符集与数据库的编码不一致。 4. PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码...

    php网页标题中文乱码的有效解决方法

    您可能感兴趣的文章:PHP反转字符串函数strrev()函数的用法PHP中文字符串截断无乱码解决方法PHP读MYSQL中文乱码的快速解决方法php版微信公众平台回复中文出现乱码问题的解决方法php pdo oracle中文乱码的快速解决...

    JDBC连接mysql处理中文时乱码解决办法详解

    JDBC连接mysql处理中文时乱码解决办法详解 近日,整合的项目需要跟一个比较老版本的mysql服务器连接,使用navicat查看,发现此mysql服务器貌似没有设置默认编码,而且从操作此mysql的部分php文件看,应该是使用的gb...

    完美解决WAMP乱码问题

    PHP乱码或者mysql乱码,多半是因为没有统一编码,要解决PHP/mysql乱码,只要做到三码合一即可. 所谓三码,是指文件编码,页面编码声明和数据库字符集,要使用相同的编码,如全部为utf-8. 怎么做到三码合一?下面以utf-8为例,...

    php版mysql大数据库备份和恢复工具

    如果你想将原来备份出的GBK数据导入到编码为UTF8数据库,则你的GBK数据中仅能含有GBK或GB2312的简体中文字符.不可以出现BIG5等繁体字符,否则转换将失败.基本上,一般的博客/论坛数据都不能保证这种纯净性,谁也不能保证...

Global site tag (gtag.js) - Google Analytics