久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價!!!
當前位置:主頁 > 網站建設 > Orace查詢數據出現亂碼的問題解決思路建站知識

Orace查詢數據出現亂碼的問題解決思路建站知識

時間:2023-05-23 23:05:23 閱讀: 文章分類: 網站建設 作者: 網絡小編

導讀:1建站知識經常有些朋友會遇到,我明明是輸入的正確中文,為什么我在另外一臺電腦上查詢卻出現亂碼啦?其實這個是數據庫網站seo優化企業網站建設。

網站seo優化企業網站建設問題描述: 經常有些朋友會遇到,我明明是輸入的正確中文,為什么我在另外一臺電腦上查詢卻出現亂碼啦?其實這個是數據庫在進行字符集轉換的時候出現了問題, 下面通過測試來描述具體的情況: 1.環境 Oracle 建設網站數據庫字符集: Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as scott SQL> SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME = 'NLS_CHARACTERSET'; PROPERTY_NAME PROPERTY_VALUE DESCRIPTION ------------------------------ -------------------------------------------------------------------------------- ------------------------------------------------------------------------------NLS_CHARACTERSET ZHS16GBK Character set Oracle 數據庫所在的客服端字符集: 在注冊表的:NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 如下圖:

Oracle 所在的操作系統的字符集: Microsoft Windows [版本 6.1.7601] 版權所有 (c) 2009 Microsoft Corporation。保留所有權利。 C:\Users\Andy>chcp 活動代碼頁: 936 表示是:中國 - 簡體中文(GB2312) 2.測試 字符集如下: Oracle 數據庫字符集:ZHS16GBK Oracle 數據庫客戶端字符集:ZHS16GBK 操作系統字符集:中國 - 簡體中文(GB2312) 輸入測試數據: SQL> INSERT INTO TAB_INDX 2 values(1,'漢字輸入字符集測試','Chinese Input Test',sysdate); 1 row inserted 字符集不修改,進行測試數據現實: SQL> select * from tab_indx where tid = 1; TID TNAME TDESC SYSDT ---------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----------- 1 漢字輸入字符集測試 Chinese Input Test 2012/12/30 顯示正常, 現在我把客服端的字符集修改為:UTF8 及注冊表的:NLS_LANG=SIMPLIFIED CHINESE_CHINA.UTF8 現在字符集如下: Oracle 數據庫字符集:ZHS16GBK Oracle 數據庫客戶端字符集:UTF8 操作系統字符集:中國 - 簡體中文(GB2312) 現在再查詢剛才輸入的數據: SQL> select tname,tdesc from tab_indx; TNAME TDESC -------------------------------------------------------------------------------- ----------------------------------------------------------------------------百度seo網站優化---- 發現查詢出來的數據已經不能正常現實,因為這些漢字是以ZHS16GBK編碼格式存儲的,然而你查詢出來后根據Oracle客服端的編碼(UTF8)轉換,及轉成了UTF8的編碼格式,但是操作系統是簡體中文(GB2312網站推廣優化seo),所以操作系統就把UTF8編碼格式的數據,當成簡體中文(GB2312)的編碼格式數據顯示,結果就出現了亂碼, 現在我再插入一筆數據: SQL> INSERT INTO TAB_INDX 2 values(1,'UTF8下漢字輸入字符集測試','Chinese Input Test',sysdate); 1 row inserted 再查詢: SQL> select tname,tdesc from tab_indx; TNAME TDESC -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 發現新插入的數據也出現了亂碼,但是亂碼跟剛才的值不一樣??為什么呢? 因為輸入的漢字,是簡體中文(GB2312)的編碼格式,當Oracle數據庫按照客戶端的編碼格式傳給數據庫,Oracle數據庫發現,Oracle數據庫客戶端是UTF8的編碼格式,跟數據庫的編碼格式(ZHS16GBK)不一樣,就進行字符集轉換,UTF8-->ZHS16GBK,所以把簡體中文(GB2312)的編碼格式的數據當成UTF8,轉為ZHS16GBK的編碼格式數據,就已經出錯啦,查詢出來自然轉換回去就不行啦 (本來需要測試Oracle數據庫的字符集修改后的情況,這種情況暫時不測試)這里我們在把Oracle客戶的字符集修改回去; 在注冊表的:NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 現在字符集如下: Oracle 數據庫字符集:ZHS16GBK Oracle 數據庫客戶端字符集:ZHS16GBK 操作系統字符集:中國 - 簡體中文(GB2312) 再查詢: SQL> select tname,tdesc from tab_indx; TNAME TDESC -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 漢字輸入字符集測試 Chinese Input Test UTF8????????????? Chinese Input Test 發現最開始輸入的漢字正常啦,但是第二次輸入的漢字,又變了,跟上次的亂碼不一樣???? 雖然這里沒有進行編碼格式轉換,但是上次在存數據的時候,已經是存的錯誤的編碼格式,所以顯示出來肯定不正確 其實還有好幾種情況測試,由于本地環境的限制,所以測試的其它情況,大家可以去試試,如:數據庫的字符集是UTF8,然后客服端的字符集變化,對漢字的輸入輸出有什么影響 根據上面的測試情況和我自己的分析,現在總結如下: 1.數據庫的查詢出來的數據,是Oracle數據庫字符集,Oracle客戶端字符集,操作系統字符集共同作用的結果。 2.Oracle存數據和查詢數據都是通過Oracle數據庫的字符集和Oracle客服端的字符集進行轉換的,顯示數據又是根據操作系統的字符集來確定的。 3.為了避免出現亂碼必須要把Oracle客戶端的字符集和操作系統的字符集設置成一樣的。相關網站seo優化企業網站建設。

關鍵詞標簽: 思路 出現亂碼

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-23 ,文章Orace查詢數據出現亂碼的問題解決思路建站知識主要講述思路,出現亂碼,Orace查詢數據出現亂碼的問題解決網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_6210.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 峨山| 黑龙江省| 巴塘县| 施秉县| 开阳县| 麻栗坡县| 朔州市| 顺义区| 从江县| 六安市| 凤台县| 商都县| 开远市| 永州市| 二手房| 建水县| 安新县| 南川市| 宝丰县| 蒙自县| 鸡东县| 桂林市| 原平市| 广丰县| 象州县| 六盘水市| 黄龙县| 阜新市| 鹿邑县| 伊春市| 周宁县| 孙吴县| 仪征市| 阿巴嘎旗| 松原市| 贵德县| 武宣县| 苍南县| 永胜县| 余江县| 屏边|