将来自Latin1_General_CI_AI的PHP MSSQL查询的结果转换为可读字符串

时间:2013-01-08 16:42:02

标签: php sql-server select encoding collation

我正在从Apache服务器查询MS服务器上的CRM2008数据库。

我试图从我在数据库上创建的视图中获取contactid。

我将结果返回正常,但它没有?编码?我想要的方式。

如何将查询结果转换为可读的内容(由我和我的代码提供)。

<?php

ini_set('mssql.charset', 'UTF-8');

//connect
$dbconn = mssql_connect($Server, $User, $Pass)
or die("Couldn't connect to SQL Server on $Server");

//select
$selected = mssql_select_db($DB)
or die("Couldn't open database $myDB");


$query = " select contactid from V_UserDetails where emailaddress1 =
'me@you.com' ";

$result = mssql_query($query);

//grab it
while ($row = mssql_fetch_array($result)) 
{
$user_custid = ($row['contactid']);
}

echo "<b>customer ID:</b> " . $user_custid . "<br />";

输出:

customer ID: &<DŽ���h���"

而不是要求:

customer ID: 234554345jhg54j34hg54jhg43jh5g34jhg5jhg3jhg34jg

2 个答案:

答案 0 :(得分:0)

该字段是UniqueIdentifier。在选择查询中,我将其更改为

$query = " select CONVERT(VARCHAR(36), contactid) from V_UserDetails where emailaddress1 =
'me@you.com' ";

这就像预期的那样从数据库中提取它!排序!

答案 1 :(得分:0)

$ data = iconv(“UTF-8”,“ISO-8859-9”,$ data);

ISO-8859-9 //更改