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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 八數碼 經典問題
- 經典揹包問題
- confluence亂碼問題
- vscode中文亂碼問題VSCode
- EasyUI 中文亂碼問題UI
- 經典問題之「分支預測」
- 揹包問題的一道經典問題
- 解決中文亂碼問題
- Kali Linux 2020.1亂碼問題Linux
- jasperreport HTML格式亂碼問題HTML
- Tomcat配置jsp亂碼問題TomcatJS
- Python BeautifulSoup中文亂碼問題Python
- IDEA中Tomcat亂碼問題IdeaTomcat
- Python爬蟲亂碼問題Python爬蟲
- 記錄一次亂碼問題修復經歷!排查修復Poi-tl使用HttpServletResponse匯出Word亂碼問題HTTPServlet
- 七大快取經典問題快取
- Oracle:sqlplus查詢出的中文是亂碼問題的解決(轉)OracleSQL
- flashfxp 亂碼,2種辦法解決flashfxp 亂碼問題
- Gradle 編譯警告亂碼問題Gradle編譯
- springmvc 解決中文亂碼問題SpringMVC
- MySql中文亂碼問題解決MySql
- Mysqldump匯出亂碼問題排查MySql
- Jmeter 解決中文亂碼問題JMeter
- Java GBK 中文亂碼問題分析Java
- MySQL:亂碼問題處理流程MySql
- Druid.io SQL亂碼問題UISQL
- confluence中文顯示亂碼問題
- TCP通訊之經典問題解決TCP
- 全面解析快取應用經典問題快取
- 【C++】 55_經典問題分析 四C++
- c 語言指標操作經典問題指標
- 【日誌亂碼】解決Tomcat啟動控制檯亂碼問題Tomcat
- AT 經典90題
- js解決url中文亂碼問題JS
- mysql亂碼的問題如何解決MySql
- 解決Kali Linux 2020.1亂碼問題Linux
- [20200225]alert檔案亂碼問題.txt
- TongWeb下亂碼問題解決思路Web