UTF8字符未顯示在Oracle數據庫的鏈接表中。 (他們甚至導致訪問有問題鎖定記錄)在鏈接到MS Access的oracle表中使用UTF8
我試着將"charset=utf8"
添加到連接字符串,但到目前爲止它沒有工作。
我以爲當程序運行時我會嘗試此查詢:
SET NAMES utf8
但我怎麼通過相同的連接鏈接表的遠程Oracle服務器上運行呢?
UTF8字符未顯示在Oracle數據庫的鏈接表中。 (他們甚至導致訪問有問題鎖定記錄)在鏈接到MS Access的oracle表中使用UTF8
我試着將"charset=utf8"
添加到連接字符串,但到目前爲止它沒有工作。
我以爲當程序運行時我會嘗試此查詢:
SET NAMES utf8
但我怎麼通過相同的連接鏈接表的遠程Oracle服務器上運行呢?
我自己沒有在Windows上使用Oracle ODBC,但是我在許多UNIX操作系統上使用了各種Oracle ODBC驅動程序。你沒有說你正在使用哪個ODBC驅動程序,但是你確定它有一個連接屬性charset = utf8? Linux的Oracle ODBC驅動程序似乎沒有這個屬性。另外,我還沒有聽說過Oracle的「set names utf8」;是不是一個MySQL的東西?
在UNIX中,您可以將您的NLS_LANG環境變量設置爲AMERICAN_AMERICA.AL32UTF8,該變量告訴Oracle客戶機庫如何獲取數據。另外,ODBC並沒有真正做到UTF-8(這裏的解釋時間太長)。 Windows上的ODBC驅動程序使用所謂的廣泛API SQLxxxW,它們接收並返回大小爲2個字節並且通常是UCS-2編碼的SQLWCHAR。 Windows上的符合Unicode的驅動程序應提供SQLxxxW範圍廣泛的API,而UTF-8則不提供。
但是,正如我所說,我不在Windows上使用Oracle,但上面的一些可能會幫助您。
這樣做!我用一個小的VBA在啓動時設置環境變量(在這裏找到:http://www.eileenslounge.com/viewtopic.php?f = 30&t = 4857),它現在工作正常。 – skerit 2011-12-16 14:25:05