Linux下PHP+Oracle乱码解决

1、安装服务器的数据库客户端时选择全部语言,数据库的语言最好选择AMERICAN_AMERICA
2、在脚本中,加入一行:
putenv("NLS_LANG=AMERICAN_AMERICA.zhs16gbk")
 

 二>

1.安装好服务器,设置好服务端的字符集(比如:ZHS16GBK为中文)

2.查看客户端查看服务端的语言,

 sql>select * from V$NLS_PARAMETERS Where PARAMETER='NLS_LANGUAGE';

  比如是"SIMPLIFIED CHINESE"

 sql>select * from V$NLS_PARAMETERS Where PARAMETER='NLS_TERRITORY';

  比如是"CHINA"

 sql>select * from V$NLS_PARAMETERS Where PARAMETER='NLS_CHARACTERSET';

  比如是"ZHS16GBK"

3.在Apache启动脚本里加入环境变量:

export NLS_LANG="SIMPLIFIED CHINESE"_CHINA_CHS16GBK

(在/etc/init.d/httpd里加入,源代码安装的Apache写一个脚本调用apachectl)

4.OK.

5.注意:
a.如果是简体中文环境,请用上面的参数
b.NLS_LANG是在客户端设置,由"语言_国家.字符集"组成,中文对应为:""SIMPLIFIED CHINESE"_CHINA_CHS16GBK",由于中间有空格,所以用引号.
c.如果只设置了export NLS_LANG="SIMPLIFIED CHINESE",很多繁体字无法识别。

 

你可能感兴趣的:(oracle,PHP,linux,乱码,PHP\Oracle)