簡體   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