在链接到MS Access的oracle表中使用UTF8
问题描述:
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