oracle經典亂碼問題——靠靠靠靠
最近在做一個專案的時候,遇到了一個問題,在window 2003 系統oracle 11g資料庫進行select的時候,結果為“靠靠靠靠”,當時的運維人員對oracle不太瞭解,所以就找到了我,我檢視服務端與客戶端的字符集,發現服務端為zhs16gbk,客戶端為american_america.we8iso8858p1,當我把客戶端修改與服務端一致字符集的時候,問題解決了。
下面是我做的一個技術文件,為以後的人員學習oracle做個例項說明。
環境為:
window 2003 32系統、oracle 11g資料庫
1、連線windows 2003的oracle 11g
C:>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 5月 21 15:03:29 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
2、檢視客戶端的字符集
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
3、檢視服務端的字符集
SQL> set linesize 100
SQL> col parameter for a40
SQL> col value for a40
SQL> select * from nls_database_parameters where parameter like '%CHARACTERSET%%';
PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET ZHS16GBK
NLS_NCHAR_CHARACTERSET AL16UTF16
可以看到客戶端與服務端的字符集都是一致的,均為ZHS16GBK。
4、建立dl_char表
SQL> create table dl_char (name varchar2(20));
表已建立。
5、插入資料
SQL> insert into dl_char values ('字符集的亂碼問題');
已建立 1 行。
6、進行select查詢
SQL> select * from dl_char;
NAME
--------------------
字符集的亂碼問題
可以看得,現在顯示為我剛才輸入的值
7、更改客戶端的字符集
C:>SET NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
8、然後重新登入
C:>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon May 21 15:06:55 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
9、檢視客戶端的字符集
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
可以看到客戶端的字符集已經變為AMERICAN_AMERICA.ZHS16GBK了
10、然後檢視dl_char的值
SQL> select * from dl_char;
NAME
--------------------
靠靠靠靠
現在就出現了我前面說的4個靠字的問題,從上面的實驗,可以看到產生4靠的原因為:客戶端與服務端的字符集不一致,所以解決這個問題的方法就是在客戶端設定與服務端一致的字符集
11、現在把客戶端的字符集改成與服務端一致的字符集
C:>SET NLS_LANG=ZHS16GBK
12、然後登陸
C:>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 5月 21 15:13:11 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
13、檢視客戶端與服務端的字符集
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
SQL> select * from nls_database_parameters where parameter like '%CHARACTERSET%%';
PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET ZHS16GBK
NLS_NCHAR_CHARACTERSET AL16UTF16
14、現在客戶端與服務端的字符集都一致了,在檢視一下dl_char裡的內容
SQL> select * from dl_char;
NAME
--------------------
字符集的亂碼問題
現在顯示為正常的、我之前輸入的值了,4個靠字也沒用在出現,所以提醒大家一下,以後在做exp/imp匯出/匯入或者客戶端查詢資料等操作的時候,一定要把客戶端的字符集與服務端的字符集設定為同一個。
©著作權歸作者所有:來自51CTO部落格作者dl528888的原創作品,如需轉載,請註明出處,否則將追究法律責任
靠靠靠靠oracle 4靠解決方法oracle應用專題
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/430/viewspace-2821246/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 八數碼 經典問題
- Oracle EM按鈕亂碼問題Oracle
- Oracle 10g EM 亂碼問題Oracle 10g
- oracle字元亂碼問題的解決Oracle字元
- 經典面試問題:12小球問題演算法(原始碼)面試演算法原始碼
- sybase EDCA異構訪問oracle 亂碼問題Oracle
- 70個經典的 Shell 指令碼面試問題指令碼面試
- 經典n皇后問題java程式碼實現Java
- flex亂碼問題Flex
- mysql亂碼問題MySql
- Oracle - SQLPlus中文顯示亂碼問題OracleSQL
- oracle 輸出中文亂碼問題解決方案Oracle
- [oracle]解決centos 7下oracle的中文亂碼問題OracleCentOS
- EasyUI 中文亂碼問題UI
- MSSQL中文亂碼問題SQL
- Java 中文 亂碼問題Java
- SQL language裡面的經典問題SQL
- 揹包問題的一道經典問題
- oracle sqlplus中文顯示亂碼的問題OracleSQL
- oracle 10g em 亂碼問題解決方法Oracle 10g
- SpringMVC中文亂碼問題SpringMVC
- 解決SSH亂碼問題
- isqlplus亂碼問題SQL
- Python中文亂碼問題Python
- secureCRT顯示亂碼問題Securecrt
- Cookie值中文亂碼問題Cookie
- javaweb 中的亂碼問題JavaWeb
- EM按鈕亂碼問題
- 解決中文亂碼問題
- 七大快取經典問題快取
- 經典演算法-最大流問題演算法
- CSS 佈局經典問題初步整理CSS
- google經典演算法面試題-雞蛋問題Go演算法面試題
- 記錄一次亂碼問題修復經歷!排查修復Poi-tl使用HttpServletResponse匯出Word亂碼問題HTTPServlet
- 經典面試題面試題
- AT 經典90題
- flashfxp 亂碼,2種辦法解決flashfxp 亂碼問題
- jasperreport HTML格式亂碼問題HTML