亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 4459 | 回復: 8
打印 上一主題 下一主題

關于web頁面顯示oracle中文數據亂碼 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-05-28 14:51 |只看該作者 |倒序瀏覽
10可用積分
請大家?guī)蛶兔Π ?br /> 首先說明一下情況:
數據庫oracle 10r2, 裝在另一臺機器上,系統(tǒng)為2003上,字附編碼為:NLS_LANG='AMERICAN_AMERICA.ZHS16GBK';

apache測式服務器在我自己的機器上:系統(tǒng)為xp, apache版本2.2.4

遇到的問題是:如果我在本機寫的perl代碼,加上環(huán)境變量
$ENV{NLS_LANG} = 'AMERICAN_AMERICA.ZHS16GBK';
后從數據庫里提取的中文數據能正常顯示,
但是一旦把這段代碼放到web頁面中,提取的數據就變成亂碼了。(注意,我確認過了,是提取出來的就是亂碼,而不是顯示時才亂碼的)

我的頁面字符編碼是
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
另外: apache 的http.conf 已加上     AddDefaultCharset   GB2312   。

請有處理過此類情況的高手幫幫忙,是我的apache設的有問題,還是別的啊。。。。

[ 本帖最后由 smonkey0 于 2008-5-28 17:28 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2008-05-28 18:54 |只看該作者
charset=GBK?

論壇徽章:
0
3 [報告]
發(fā)表于 2008-05-29 11:41 |只看該作者
1、是不是僅僅中文亂碼?英文呢?
2、你的操作系統(tǒng)是不是多語言的?那么多語言包正常不?設置好沒?
這個是我暫時能想到的2個問題

論壇徽章:
0
4 [報告]
發(fā)表于 2008-05-30 14:00 |只看該作者
原帖由 ndg 于 2008-5-29 11:41 發(fā)表
1、是不是僅僅中文亂碼?英文呢?
2、你的操作系統(tǒng)是不是多語言的?那么多語言包正常不?設置好沒?
這個是我暫時能想到的2個問題

英文和數字都是正常的,只是中文亂碼。
我的系統(tǒng)就是普通的XP,多語言包也正常的。

就是說,我在dos 窗口下面編的代碼,插入數據,讀取數據顯示都是正常的,但在在WEB上操作就出錯了。。是不是APACHE的問題啊。。頭疼啊~~

論壇徽章:
0
5 [報告]
發(fā)表于 2008-05-30 14:02 |只看該作者
原帖由 cobrawgl 于 2008-5-28 18:54 發(fā)表
charset=GBK?

GBK,試過了,還是不行~

論壇徽章:
0
6 [報告]
發(fā)表于 2008-05-30 14:12 |只看該作者
把常用字符集豆試試

論壇徽章:
0
7 [報告]
發(fā)表于 2008-06-02 17:37 |只看該作者

回復 #6 net_robber 的帖子

自殺的心都有了。。我把字符試了個遍。把數據庫都重裝換成utf8 了。還是不行。。。。神啊。。收了我吧。。。

論壇徽章:
1
榮譽會員
日期:2011-11-23 16:44:17
8 [報告]
發(fā)表于 2008-06-03 12:53 |只看該作者
試試用Encode轉碼看看....有時候AP上的環(huán)境編碼與DB的編碼不同...會造成同一個字出來的就是亂碼..
有時候是被Encode兩次...
需要decode兩次才能得到正確的中文字...

或更改IE上面的編碼..直到你看到正確的中文...反正就只有那幾種...

[ 本帖最后由 apile 于 2008-6-3 12:55 編輯 ]

論壇徽章:
0
9 [報告]
發(fā)表于 2008-06-04 09:27 |只看該作者
原帖由 apile 于 2008-6-3 12:53 發(fā)表
試試用Encode轉碼看看....有時候AP上的環(huán)境編碼與DB的編碼不同...會造成同一個字出來的就是亂碼..
有時候是被Encode兩次...
需要decode兩次才能得到正確的中文字...

或更改IE上面的編碼..直到你看到正確的 ...

我找到原因了,但不知道怎么辦了。
ORALCE 里有個關于時間的格式的環(huán)境變量:$ENV{NLS_DATE_FORMAT}   =   'YYYY-MM-DD'我不設的話,WEB上取出來是:29-MAY-08   英文的 'DD-MM-YY';
但就算我加了在代碼里加上:$ENV{NLS_DATE_FORMAT}   =   'YYYY-MM-DD'取出來還是  英文的 'DD-MM-YY' ,  好像mod_perl(或者是APACHE) 沒有把這個信息輸到數據庫服務器一樣。
所以說這個程序最關鍵的環(huán)境變量
$ENV{NLS_LANG}='SIMPLIFIED CHINESE_CHINA.UTF8'
肯定是沒有湊效了。。

我分別試過幾種方法:
1.在代碼里加上  $ENV{NLS_LANG}=。。。 之類的方法,--->失敗
2.在HTTP.CONF 里加上 SetEnv NLS_LANG CHINESE_CHINA.UTF   SetEnv NLS_DATE_FORMAT YYYY-MM-DD  --->失敗
3.在HTTP.CONF 里加上
PerlSetEnv NLS_LANG CHINESE_CHINA.UTF8
PerlSetEnv NLS_DATE_FORMAT YYYY-MM-DD
PerlPassEnv NLS_LANG
PerlPassEnv NLS_DATE_FORMAT
結果導致apache 運行出錯。原因網上據說是apache2對mod_perl 的支持問題。。

現在好迷茫,如果實在不行,打算著再加個php試試了。。。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯網協會會員  聯系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP