yangkeao
提问,求回答,有关于Mysql数据库乱码的问题

[mw_shl_code=php,true]<?php

$con = mysql_connect("localhost","root","");

if (!$con)

{

die('Could not connect: ' . mysql_error());

}

mysql_select_db("chat", $con);

$result = mysql_query("SELECT * FROM chat");

while($row = mysql_fetch_array($result))

{

echo $row['time'] . " " . $row['neirong'];

echo "<br />";

}

mysql_close($con);

?>[/mw_shl_code]

输出数据数字和英文没问题,可是中文是???

该贴已经同步到 yangkeao的微博

0o团子o0
楼说的一样
展开Biu

跟8楼说的一样,加上那句就可以了,但是编码的话要对应mysql数据库里面设置的一样,数据库要设置,表要设置,表列也要设置编码,mysql就这个地方神烦了

[查看全文]
叫柚子的真多
完全不知道
展开Biu

这个,完全不知道。!

[查看全文]
KNel
配置文件
展开Biu

修改mysql配置文件my.ini或my.cnf,mysql最好用utf8编码

[mysql]

default-character-set=utf8

[mysqld]

default-character-set=utf8

default-storage-engine=MyISAM

在[mysqld]下加入:

default-collation=utf8_bin

init_connect='SET NAMES utf8'

[查看全文]
Zhuogu
那边可以
展开Biu

MySQL那边可以:

[mw_shl_code=sql,true]SET NAMES 'UTF8'

SET CHARACTER SET UTF8[/mw_shl_code]

[查看全文]
风音洛洛
一般都会先指定使用的字符集的
展开Biu

一般都会先指定使用的字符集的,只有数据库及字段的字符集和网页所用的字符集一样的时候才能正常显示

[查看全文]
jimsshom
之所以中文会有问题是因为
展开Biu

之所以中文会有问题是因为mysql的编码和php的编码不一致导致的,简单来说就是对于同一些二进制字节,GBK编码和UTF-8编码对于这些字节的结束都是不同的。具体编码相关的问题可以google下。

你这边要解决这个问题,有两种方案,一种是让php的编码设置和mysql一致,另一个是php从mysql读出内容后转换成php的编码。一般来说为了程序的通用性,建议采用第二种。

这里假设mysql编码为GBK,php编码为UTF-8,则需要将读出的内容由GBK转换成UTF-8。

php的编码转换一般也有两种方法,这里推荐使用iconv的库。

函数原型是:string iconv ( string $in_charset , string $out_charset , string $str )

可以详细看下函数的手册还有一些网上其他的例子

[查看全文]
yangkeao
可以看到当前
展开Biu

jimsshom 发表于 2013-5-1 12:06

php可以用iconv转码,使用phpinfo()可以看到当前php的编码。

具体一点,谢谢。。本人菜鸟。。

[查看全文]
jimsshom
可以看到当前
展开Biu

php可以用iconv转码,使用phpinfo()可以看到当前php的编码。

[查看全文]