2016-06-09 68 views
1

我试图使用PHP odbc_connect摆脱Vertica的DB数据,我有Russsian文字的问题,因此,例如,而不是得到这个文本Уютная我得到了一个\x1A\x1A\x1A\x1A\x1A\x1A从Vertica的获取数据与PHP与错误的编码

这是我的DNS连接字符串:

$dsn = "Driver=Vertica;Server={$host};Port={$port};Database={$database};"; 
$this->connection = odbc_connect($dsn, $username, $password); 

这我/etc/vertica.ini文件(在Debian杰西应用程序运行):

[Driver] 
DriverManagerEncoding=UTF-16 
ODBCInstLib = /usr/lib/x86_64-linux-gnu/libodbcinst.so.1 
ErrorMessagesPath=/opt/vertica 
LogLevel=4 
LogPath=/tmp 

我使用Vertica ODBC驱动程序7.2.2-0

任何想法如何解决它?

谢谢!

回答

1

我发现的临时解决方案是使用URI_PERCENT_ENCODE函数(vertica sql函数)封装字段,并在php中执行urldecode。

stackoverflow