2 qq 19089455 qq_19089455 于 2016.01.29 16:53 提问

php取mysql,上传到服务器后,显示中文为乱码
php

数据表是utf8_general_ci编码,字段值
首页宽幅幻灯片
对应的是
首页宽幅幻灯片

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
...
//mysql_query( "SET NAMES UTF8" );

$result = mysql_query( "SELECT name FROM info_category LIMIT 1" );
if ( $result )
{
    while( $row = mysql_fetch_array($result) )
    {
        echo "<br>". $row['name'];
    }
}

我在开发机器上安装XAMPP,调试显示是正确的。上传到服务器上运行,从数据库取来的中文就显示成乱码了。

同样的测试代码文件,显示结果却不一样,怎么办?

我检查了数据库编码,尝试set names,在服务器上都不行。服务器操作系统是linux,开发机是windows,和操作系统没关系吧。

5个回答

jhfsdfs
jhfsdfs   2016.01.29 18:01
已采纳

建数据库的时候,数据库表,都要设置字符集为 UTF-8

oyljerry
oyljerry   Ds   Rxr 2016.01.29 17:14

把字符先用utf8编码,然后再存入数据库,数据库中读取的时候,也是从utf8解码回

xianbu
xianbu   2016.01.29 18:19

你在本地测试的时候,是连的linux上的数据库还是本地的数据库

qq_33733970
qq_33733970   2016.01.29 21:04

gbk格式差不多够用了!

qq_19089455
qq_19089455   2016.01.30 17:39

谢谢回答。MYSQL数据库默认编码不是UTF8。搞了半天。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!