用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php中文乱码问题和MySql出现中文乱码的解决方法

时间:2015-01-23  来源:西部数据  作者:西部数据

先看一下实例代码:

  1. <html> 
  2. <head> 
  3. <title></title> 
  4. </head> 
  5. <body> 
  6. <?php 
  7. $mysql_server_name='localhost'
  8. $mysql_username='root'
  9. $mysql_password='000000'
  10. $mysql_database='lib'
  11. $conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); 
  12. $sql="select name,age from mytb"
  13. print($conn);//开源代码phpfensi.com 
  14. $rs=mysql_db_query("lib","select * from mytb",$conn); 
  15. print(" 
  16. <br>"); 
  17. while($row = mysql_fetch_object($rs)){ 
  18. print ($row->name.":".$row->age."<br>"); 
  19. mysql_close($conn); 
  20. ?> 

显示如下:

  1. resource id #1 
  2.  
  3. dd:54 
  4. ddd:8 
  5. ??:15 
  6. ???:25 
  7. ??:32 

mysql编码:utf8,gbk都试过了,mysql font 和命令行显示都正确.

问题补充,乱码:

???:15,???:25,??:32

这几行,数据库里的值是汉字,显示出来的是问号.

解决办法:在$rs=mysql_db_query("lib","select * from mytb",$conn);前面加上如下代码:

mysql_query("set names gb2312");或者mysql_query("set names gbk");

下面看一下关于解决乱码的方法:

一.gb2312,gbk,utf8等支持多字节编码的字符集都可以储存汉字,gb2312中的汉字数量远少于gbk,而gb2312,gbk等都可在utf8下编码.

二.用命令show variables like 'character_set_%';查看当前字符集设定:

  1. mysql> show variables like 'character_set_%'; 
  2. +--------------------------+--------+ 
  3. | variable_name      | value | 
  4. +--------------------------+--------+ 
  5. | character_set_client   | gb2312 | 
  6. | character_set_connection | gb2312 | 
  7. | character_set_database  | gb2312 | 
  8. | character_set_filesystem | binary | 
  9. | character_set_results  | gb2312 | 
  10. | character_set_server   | latin1 | 
  11. | character_set_system   | utf8  | 
  12. +--------------------------+--------+ 
  13. 7 rows in set (0.02 sec) 

 

这里设置的字符是gb2312,显示中文乱码主要有两个设置:character_set_connection 和character_set_results,如果你的这两个设置不支持中文编码,就会出现乱码,只要:set character_set_results =gbk;就设置中文编码了.

三.set names charset_name;可以一次性设置客户端的所有字符集.

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门