数库表,设置成utf8_general_ci
字段也是utf8_general_ci
php页面也是utf8编码
连接数据库也加了mysql_query("set names 'utf8'");为什么中文显示就是乱码呢我怀疑是数据库编码出错,但是又没有权限修改数据库编码require_once("conn.php");
$db=new mysql();
$result=mysql_query("select intro from cases where id='2' limit 1");
$row=mysql_fetch_array($result);
echo $row[0];
字段也是utf8_general_ci
php页面也是utf8编码
连接数据库也加了mysql_query("set names 'utf8'");为什么中文显示就是乱码呢我怀疑是数据库编码出错,但是又没有权限修改数据库编码require_once("conn.php");
$db=new mysql();
$result=mysql_query("select intro from cases where id='2' limit 1");
$row=mysql_fetch_array($result);
echo $row[0];
加了这个,没有用我把程序和数据导到本地,本地运行是正常的中文,真郁闷
那么请帖出 echo base64_encode($row[0]); 的结果,帮你分析一下
--------------------------------
不用怀疑,你用phpmyadmin查看你的数据库数据,网页设置查看编码为utf-8,如果数据库数据本身是乱码,就是你导入/插入数据时候出问题了。
实在不行 把字符集统一后 重新导入一次SQL
通过php读出来,就是乱码
mysql_query()前添加mysql_query("SET NAMES UTF-8")
请参考 http://www.th7.cn/Article/sj/my/200906/356984.html$s = base64_decode('w5XDosOKw4fDjsKqw4rCssODwrTDhMOY');
echo iconv('utf-8', 'latin1', $s);
输出:这是为什么呢
编码类型是 gbk你的数据库是默认的瑞典语的 latin1
你在插入数据时没有声明语言类型,而插入的数据是 gbk 编码的
读取时又声明为 utf8,所以导致乱码
大致如此,把自己都搞糊涂了