繁体   English   中英

Oracle OCI8 PHP Debian编码错误

[英]Oracle OCI8 PHP Debian Encoding error

我对使用带有Instantclient 12.2,php 5.6和oci8(2.0.12)的debian 8服务器的编码感到失望。

我在php网站本身中存在编码问题,可以ISO-8859-1php.ini中将php编码设置为ISO-8859-1来解决。 ->因此,编码(包括所有欧洲字符)都适用于php。

现在我的问题是,我从oracle12c数据库检索的数据编码不正确。 所以我得到

a for ä
o for ö
u for ü
? for ß

从php保存到数据库时,会发生同样的事情。

在sqlplus64客户端中,数据已正确编码,所以我想它与oci8有关。

我试过的

我已经将NLS_LANG参数设置为GERMAN_GERMANY.WE8ISO8859P1GERMAN_GERMANY.UTF-8 ,尝试手动给oci_connect()一个字符集,尝试了apache2.confphp.ini所有编码选项,试图覆盖通过.htaccess文件最终加载的配置和东西。 但是,这些都不起作用。

也许有人知道出路?

我解决了

putenv("NLS_LANG=GERMAN_GERMANY.WE8ISO8859P1");

oci_connect()之前

我完全不知道为什么这行得通,但是我想apache无法访问我通过/etc/profile文件设置的参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM