PHP与MSSQL结合使用时遇到乱码问题怎么解决?(phpmssql乱码)
PHP与MSSQL结合使用时,经常会出现乱码问题,如何解决这一问题呢?
解决MSSQL与PHP结合使用时出现乱码的问题,首先应该检查服务器端的MSSQL的编码格式。MSSQL的默认字符集是 windows1252,而PHP是使用utf8这一编码格式,有可能导致两者之间出现数据转换的问题,造成乱码问题。可以通过以下步骤检查MSSQL的编码格式:
第一步,使用sql query访问MSSQL数据库,输入如下代码:
EXEC sp_helpsort
查看返回结果,搜索 name 列中出现 ‘Windows-1252’ 字样,即是MSSQL服务器的编码格式,如果不是utf8,可以通过修改以下内容:
EXEC sp_configure ‘default language’,2052
第二步,修改PHP的默认连接内容:
$link = mssql_connect(‘127.0.0.1′,’admin’,’pwd’);
mssql_query(“SET NAMES ‘UTF-8′”);
?>
上面的代码表示将PHP与MSSQL连接后默认使用UTF-8字符集,用此方法可以解决大多数出现乱码问题。
另外,如果以上步骤还是没有解决乱码问题,可以对两侧的所有字符串进行转码,用以下方式可以做到:
$str = iconv(‘Windows-1252′,’utf8’,$str);
iconv函数用来将字符串从一个编码格式转换为另一个编码格式,可以将MSSQL中的字符串转换为utf8编码,从而解决乱码的问题。
以上就是PHP与MSSQL结合使用时乱码问题的解决方案,只要稍加注意,就可以避免这一问题,使程序正常运行。