PHP+OCI访问Oracle数据库时的字符集设置--sqlplus乱码解决

1、设置环境变量NLS_LANG

要解决Oracle的客户端乱码问题关键是要把服务器端使用的字符集跟客户端使用的字符集统一起来。

Oracle客户端(Sqlplus,OCI等)通过NLS_LANG环境变量来确定客户端使用的字符集。
例如:export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
查看服务器端使用的字符集方法:select userenv('language') from dual;


2、注意PDO使用utf8字符集时用charset传入:“utf-8”,中间有个‘-’。

例如:$oradb = "oci:dbname=//www.carffee.com:1521/npstores;charset=utf-8";


--
参考:
http://hi.baidu.com/dearhwj/blog/item/2cb858257ba30c6834a80f86.html
http://hi.baidu.com/jswanli04/blog/item/d90767a906333cfc1e17a23d.html

你可能感兴趣的:(PHP+OCI访问Oracle数据库时的字符集设置--sqlplus乱码解决)