开发环境:win7 64位

PHP版本:5.2

读取oracle中文乱码,有二种情况:1.oracle客户端;2.PHP连接

1.首先检查oracle客户端,设置oracle对应编码,命令行下查看set NLS_LANG是否配置。如未配置环境变量或修改,如下:

oracle环境变量

oracle环境变量

oracle环境变量

oracle环境变量

然后检查注册表[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home1]

oracle注册表配置

oracle注册表配置

oracle注册表配置

oracle注册表配置

注意 WIN7 在 KEY_OraClient11g_home1这个目录

将”NLS_LANG”=”SIMPLIFIED CHINESE_CHINA.ZHS16GBK”

2.如果还是乱码,就要检查连接了,PHP连接oci_connect(“scott”“tiger”$db‘zhs16gbk’)了。

服务器oracle编码,其中任意一个都可以查询到

select userenv(‘LANGUAGE’) from dual;
select * from nls_database_parameters;
select * from V$NLS_PARAMETERS;

评论已经关闭。