发布时间:2025-12-09 14:48:47 浏览次数:4
以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。
只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET
NAMES
UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET
NAMES
GBK,代码如下:
$mysql_mylink
=
mysql_connect($mysql_host,
$mysql_user,
$mysql_pass)
mysql_query("SET
NAMES
'GBK'")
数据载入的时候是乱码还是正常,是从别人机器上导出数据自己恢复的吗?查看下数据库的字符集编码,show
vaiables
like
'%char%'
查看下字符集
使用下latin1
因为他是默认的
,不行就把数据库删了重新建立在导入数据
保证文件的编码,浏览器解析编码。数据库数据输出编码一致就可以了。先把mysql的数据库编码设为utf8。
另存为保存文件编码为utf8
使用header("content-type:text/htmlcharset=utf-8")或者<meta http-equiv="content-type" content="text/htmlcharset=utf-8" />告诉浏览器解析文件的编码
数据输出前 mysql_query("set names utf8")将数据库输出到网页中的编码设为utf8.