您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“php連接oracle亂碼怎么解決”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“php連接oracle亂碼怎么解決”吧!
php連接oracle亂碼的解決辦法:1、通過(guò)運(yùn)行“select * from V$NLS_PARAMETERS;”命令來(lái)獲取oracle的字符集;2、修改變量“NLS_CHARACTERSET”為對(duì)應(yīng)的字符集;3、將本地的PHP文件統(tǒng)一設(shè)置為utf-8即可。
php 連接 oracle 亂碼怎么辦?
php連接oracle設(shè)定字符集,避免亂碼
數(shù)據(jù)庫(kù)用oracle,當(dāng)php連接oracle的時(shí)候,最好指定字符集。
查PHP手冊(cè),oci_connect的第四個(gè)參數(shù)為charset,這是關(guān)鍵。
首先獲取oracle的字符集,運(yùn)行“select * from V$NLS_PARAMETERS;”,變量NLS_CHARACTERSET對(duì)應(yīng)的就是我們需要的字符集,比如我這里就是“ZHS16GBK”。
所以,最終的PHP代碼為:
$c1 = oci_connect("scott", "tiger", $db, 'zhs16gbk');
我本地的PHP文件統(tǒng)一用utf-8,所以,獲取的代碼還要經(jīng)過(guò)如下編碼轉(zhuǎn)換:
while ($dat = oci_fetch_row($cur)) { print_r(iconv('gb2312', 'utf-8', $dat[0])); }
更新:
同事說(shuō),Oracle可以按照 客戶端指定的字符集 提供數(shù)據(jù)。也就是說(shuō),如果我本地PHP文件用UTF-8,那么,我在oci_connect的時(shí)候,直接指定utf-8就行了,連編碼轉(zhuǎn)換都省了。
$c1 = oci_connect("scott", "tiger", $db, 'UTF8');
Php代碼
while ($dat = oci_fetch_row($cur)) { print_r($dat[0]); }
1、執(zhí)行速度快。
2、具有很好的開放性和可擴(kuò)展性。
3、PHP支持多種主流與非主流的數(shù)據(jù)庫(kù)。
4、面向?qū)ο缶幊蹋篜HP提供了類和對(duì)象。
5、版本更新速度快。
6、具有豐富的功能。
7、可伸縮性。
8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。
到此,相信大家對(duì)“php連接oracle亂碼怎么解決”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。