我从使用MariaDB Connect Engine以UTF-8显示内容的网络服务器连接到带有WE8MSWIN1252编码的Oracle数据库。
用于连接表的代码如下:
CREATE TABLE mytable ENGINE=CONNECT TABLE_TYPE=ODBC TABNAME='oracle_table_name' CONNECTION='DSN=orcl;UID=someuser;PWD=passwd';
我知道我必须传递预期的字符集,但不确定使用此引擎的语法。
我可以使用以下代码正确显示直接从php连接的字符:
oci_connect('someuser', 'passwd', 'host', 'AL32UTF8');
odbc.ini
文件如下所示:
[orcl]
Driver = Oracle 12c ODBC driver
Servername = host
我已尝试将Charset = UTF-8
放入此文件中,但它无法正常工作。
答案 0 :(得分:0)
经过多次尝试和大量调查,我明白这是环境设置的问题。
我终于解决了写下/etc/init.d/mysql
中的下一行:
NLS_LANG=SPANISH_COLOMBIA.WE8MSWIN1252 ; export NLS_LANG
要从isql
进行连接,/root/.bash_profile
中需要下一行:
NLS_LANG=SPANISH_COLOMBIA.AL32UTF8 ; export NLS_LANG
我在CentOS 6上,所以我认为在其他环境中这不起作用。