1

跑步时如何获取阿拉伯语内容MSSQL_QUERY

看起来????,我试图这样做:

$res = mssql_query($q);
$row = mssql_fetch_row($res)
echo iconv("unicode", "utf-8", $row[0])

但在这种情况下,它将值显示为中文字母潬穬

任何建议都非常感谢

4

3 回答 3

2

只需使用 Unicode 数据类型。Unicode 数据类型是 nchar、nvarchar、nvarchar(max) 和 ntext,您必须在所有 Unicode 字符串前面加上一个大写字母 N。

INSERT INTO TableName (ColumnName) values(N'Arabic Text')
于 2011-04-20T05:34:27.697 回答
1

首先尝试安装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 驱动程序的帮助文档以了解其他编码。希望能帮助到你。

于 2012-03-01T11:35:44.893 回答
0

好吧,在选择阿拉伯文本之前尝试将其发送到数据库:

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]);

等等。

于 2010-07-15T08:20:16.140 回答