如何使用ODBC连接从MSSQL服务器获取阿拉伯语内容?

时间:2017-05-30 07:39:42

标签: php sql-server codeigniter odbc

如何使用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;

我知道使用表的更改排序可以实现,但由于某些限制,此应用程序无法实现。

实现这一目标的任何其他可能性?

1 个答案:

答案 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)