php连接mssql db来显示中文字符

时间:2012-08-02 09:29:09

标签: php sql-server

我正在构建一个连接到mssql数据库的php网站。在视觉工作室,我可以阅读正常的汉字;但是当将数据调入php页面时,中文字符无法显示并导致奇怪的代码。

另一方面,当我在php页面中输入中文字符时,我可以阅读它们。因此,我相信它在连接到mssql db时与charset有关。以下是我在db connect文件中的代码: -

<?php
$myServer = "localhost";
$myUser = "XX";
$myPass = "123";
$myDB = "my_db"; 

$s = mssql_connect($myServer, $myUser, $myPass)
or die("Couldn't connect to SQL Server on $myServer");

mssql_select_db($myDB, $s);

$set_charset = 'UTF-8';
mssql_query($set_charset, $s);
?>

我的代码有什么问题吗?谢谢!

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是使用SQLSRV驱动程序而不是mssql。或者甚至更好的PDO_SQLSRV扩展; it uses utf-8 as the default encoding

PDO :: SQLSRV_ENCODING_UTF8
 数据采用UTF-8编码。这是默认编码。