跑步时如何获取阿拉伯语内容MSSQL_QUERY
?
看起来????
,我试图这样做:
$res = mssql_query($q);
$row = mssql_fetch_row($res)
echo iconv("unicode", "utf-8", $row[0])
但在这种情况下,它将值显示为中文字母潬穬
任何建议都非常感谢
跑步时如何获取阿拉伯语内容MSSQL_QUERY
?
看起来????
,我试图这样做:
$res = mssql_query($q);
$row = mssql_fetch_row($res)
echo iconv("unicode", "utf-8", $row[0])
但在这种情况下,它将值显示为中文字母潬穬
任何建议都非常感谢
只需使用 Unicode 数据类型。Unicode 数据类型是 nchar、nvarchar、nvarchar(max) 和 ntext,您必须在所有 Unicode 字符串前面加上一个大写字母 N。
INSERT INTO TableName (ColumnName) values(N'Arabic Text')
首先尝试安装http://msdn.microsoft.com/en-us/library/cc793139%28v=sql.90%29.aspx上的 sqlsrv 驱动程序。正确按照说明操作后,连接到 sql server 时使用:
$connArr = array(
"Database" => $dPconfig['dbname'],
"UID" => $dPconfig['dbuser'],
"PWD" => $dPconfig['dbpass'],
"CharacterSet" => "UTF-8"
);
$conn = sqlsrv_connect($dPconfig['dbhost'], $connArr) or die("cannot connect");
它应该可以正常工作另请参阅 sqsrv 驱动程序的帮助文档以了解其他编码。希望能帮助到你。
好吧,在选择阿拉伯文本之前尝试将其发送到数据库:
SET NAMES utf8;
例如,当使用 PDO 时:
try {
$dbh = new PDO(
'mysql:host=127.0.0.1;dbname=dbname',
'root',
'root',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);
} catch (Exception $e) {
echo $e->getMessage();
}
其次,确保所有文件(PHP 文件、HTML 模板)都以 UTF-8 编码保存。
第三,如果一切都失败了,请尝试更多地使用 iconv() 函数:
echo iconv("Latin1_General_CI_AS","utf-8",$row[0]);
echo iconv("Arabic_CI_AS","utf-8",$row[0]);
等等。