带有OBDC连接的PHP查询返回带有无法识别符号的字符串
我正在使用ODBC连接访问SQL Server数据库并从中获取字符串。问题是我在字符串中得到了带有OBDC连接的PHP查询返回带有无法识别符号的字符串,php,odbc,Php,Odbc,我正在使用ODBC连接访问SQL Server数据库并从中获取字符串。问题是我在字符串中得到了?符号,例如,它应该是ē 这是我正在使用的代码: if(($result = odbc_exec($connect, $sql)) !== false) { while( $obj = odbc_fetch_object( $result )) { if ($obj->PLK_STATUSS == '10') { echo $obj->DESCRIP
?
符号,例如,它应该是ē
这是我正在使用的代码:
if(($result = odbc_exec($connect, $sql)) !== false) {
while( $obj = odbc_fetch_object( $result )) {
if ($obj->PLK_STATUSS == '10') {
echo $obj->DESCRIPTION;
}
}
}
它应该响应Piemērs
,但我得到的是Piem?rs
我把
<meta http-equiv="content-type" content="text/html; charset=utf-8"</meta>
没有运气
还有什么问题?我没有php方面的经验,所以它可能很简单
编辑:
如果我只做echo“Piemērs”代码>然后它就工作了
编辑:
Im使用FreeTDS创建ODBC连接。我猜问题在于ODBC配置。从其他来源,我得到在freetds.conf文件中应该有一行
client charset = UTF-8
但当我添加这一行时,网页停止工作,我在浏览器中得到ERR\u EMPTY\u RESPONSE
。我设法解决了从ODBC到PDO的问题
$conn = new PDO('dblib:charset=UTF-8;host='.Configure::read('SERVERNAME').';dbname='.Configure::read('DB'),
Configure::read('USERNAME'),
Configure::read('PASSWORD')
);
问题可能是因为更新的php版本。ODBC在php5中工作时也有同样的问题,但升级到php7时必须将其更改为PDO
$conn = new PDO('dblib:charset=UTF-8;host='.Configure::read('SERVERNAME').';dbname='.Configure::read('DB'),
Configure::read('USERNAME'),
Configure::read('PASSWORD')
);