2016-06-09 70 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