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结合使用时乱码问题的解决方案,只要稍加注意,就可以避免这一问题,使程序正常运行。


数据运维技术 » PHP与MSSQL结合使用时遇到乱码问题怎么解决?(phpmssql乱码)