溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php連接oracle亂碼怎么解決

發(fā)布時(shí)間:2022-10-24 16:06:05 來(lái)源:億速云 閱讀:123 作者:iii 欄目:編程語(yǔ)言

本篇內(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]);  }

php有什么特點(diǎn)

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í)!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI