如何使用ODBC连接从MSSQL数据库中获取阿拉伯数据? 它显示为 ???? 我尝试了下面列出的解决方案,这些解决方案对我不起作用。
1) 'Name'=>iconv("unicode", "utf-8", $row["Name"]),
2) 'Name'=>iconv("Arabic_CI_AS", "utf-8", $row["Name"]),
3) mysql_query("SET NAMES utf8");
4) mysql_query('SET CHARACTER SET utf8');
5) <meta charset="UTF-8" />
6) 'Name'=>mb_convert_encoding($row["Name"], 'UTF-8', 'SJIS'),
代码段:
$customer_query="select serial,CR_ID,Name,Email,Customer_NameE from [CRM].[005_Customers_tbl]";
$query = odbc_exec($link,$customer_query);
$total_count=odbc_num_rows($query);
$json = array();
if($total_count>0){
while ($row = odbc_fetch_array($query)) {
$json[] = array('serial'=>$row['serial'],
'CR_ID'=>$row['CR_ID'],
'Name'=>$row["Name"],
'Email'=>$row['Email'],
'Customer_NameE'=>$row['Customer_NameE']);
}
}
$result['customer']=$json;
我知道使用表的更改排序可以实现,但由于某些限制,此应用程序无法实现。
实现这一目标的任何其他可能性?
答案 0 :(得分:1)
首先你必须放在行下面
<meta charset="UCS-2"/>
并在这样的查询中进行投射
$var = "select CAST(Name as VARBINARY(150) as Name) form $table_name;
然后使用此行进行转换???文字到阿拉伯语。
$name = iconv('UCS-2LE','UTF-8',$name)