在使用 php 5 中,通过 mysql 查询得到的值全部成为 '???????',原来是字符集设错了。
我在安装 mysql 5 时,已经选择默认字符集为 gb2312,但还是返回乱码,解决的办法是在连接 mysql 服务器后,调用一个与所设字符集相同的 "set names x" 语句(x 为你所设的字符集)。下面是我的连接函数:
function sql_connect() {
global $mysql_host, $mysql_user, $mysql_password, $mysql_database;
$connection = @mysql_connect($mysql_host, $mysql_user, $mysql_password) or startuperror('<p>could not connect to mysql database.</p>','connect error');
if (!mysql_select_db($mysql_database))
{
include'install.php';
doinstall();
mysql_select_db($mysql_database) or startuperror('<p>could not select database: '. mysql_error().'</p>', 'connect error');
}
sql_query('set names "gb2312"'); //sql_query是一个自定义的执行查询函数,关键是这个语句
return $connection;
}
新闻热点
疑难解答