向表中插入中文字元,查詢時亂碼問題
當建立了某張表,向表中插入中文字元後,在查詢時插入的中文出現亂碼
[oracle@test1 ~]$ sqlplus scott/tiger
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jun 27 09:55:58 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
[oracle@test1 ~]$ sqlplus scott/tiger
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jun 27 09:55:58 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> create table t1(name varchar2(10));
Table created.
SQL> insert into t1 values('啊');
1 row created.
SQL> select * from t1;
NAME
----------
???
原因:系統與資料庫字符集不匹配
解決方法:
將系統的字符集調整為和資料庫一致
查詢資料庫字符集
SQL> show parameter nls_lang
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> create table t1(name varchar2(10));
Table created.
SQL> insert into t1 values('啊');
1 row created.
SQL> select * from t1;
NAME
----------
???
原因:系統與資料庫字符集不匹配
解決方法:
將系統的字符集調整為和資料庫一致
查詢資料庫字符集
SQL> show parameter nls_lang
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_language string AMERICAN
SQL> col value format a40
SQL> select * from nls_database_parameters;
------------------------------------ ----------- ------------------------------
nls_language string AMERICAN
SQL> col value format a40
SQL> select * from nls_database_parameters;
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET ZHS16GBK
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
------------------------------ ----------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET ZHS16GBK
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.1.0
------------------------------ ----------------------------------------
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.1.0
20 rows selected.
SQL>
或者
SQL> col value$ format a40
SQL> select name,value$ from props$;
SQL>
或者
SQL> col value$ format a40
SQL> select name,value$ from props$;
NAME VALUE$
------------------------------ ----------------------------------------
DICT.BASE 2
DEFAULT_TEMP_TABLESPACE TEMP
DEFAULT_PERMANENT_TABLESPACE USERS
DEFAULT_TBS_TYPE SMALLFILE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET ZHS16GBK
NLS_CALENDAR GREGORIAN
------------------------------ ----------------------------------------
DICT.BASE 2
DEFAULT_TEMP_TABLESPACE TEMP
DEFAULT_PERMANENT_TABLESPACE USERS
DEFAULT_TBS_TYPE SMALLFILE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET ZHS16GBK
NLS_CALENDAR GREGORIAN
NAME VALUE$
------------------------------ ----------------------------------------
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
------------------------------ ----------------------------------------
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NAME VALUE$
------------------------------ ----------------------------------------
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.1.0
GLOBAL_DB_NAME ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
EXPORT_VIEWS_VERSION 8
DBTIMEZONE 00:00
------------------------------ ----------------------------------------
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.1.0
GLOBAL_DB_NAME ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
EXPORT_VIEWS_VERSION 8
DBTIMEZONE 00:00
27 rows selected.
影響oracle資料庫字符集最重要的引數是NLS_LANG引數,它的格式如下:
NLS_LANG=language_territory.characterset
它有三個組成部分:語言、地域和字符集
language指定伺服器訊息語言,territory指定伺服器的日期和數字格式,characterset指定字符集
NLS_LANG=language_territory.characterset
它有三個組成部分:語言、地域和字符集
language指定伺服器訊息語言,territory指定伺服器的日期和數字格式,characterset指定字符集
經上所查,資料庫的NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
將其新增到系統
$export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
或者
$ echo 'NLS_LANG=AMERICAN_AMERICA.ZHS16GBK' >> ~/.bash_profile
$ source ~/.bash_profile
然後再想表中插入資料就能正常顯示了
將其新增到系統
$export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
或者
$ echo 'NLS_LANG=AMERICAN_AMERICA.ZHS16GBK' >> ~/.bash_profile
$ source ~/.bash_profile
然後再想表中插入資料就能正常顯示了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26077805/viewspace-702913/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python查詢mysql中文亂碼問題PythonMySql
- hive表查詢中文顯示亂碼Hive
- linux中查詢IP地址時出現所謂的“亂碼”問題Linux
- 5-順序表查詢及插入問題
- Oracle:sqlplus查詢出的中文是亂碼問題的解決(轉)OracleSQL
- 解決plsql中中文亂碼問題SQL
- vscode中文亂碼問題VSCode
- EasyUI 中文亂碼問題UI
- CentOS8中文亂碼問題CentOS
- jsp頁面通過url向後臺傳值時的中文亂碼問題JS
- 解決中文亂碼問題
- Python BeautifulSoup中文亂碼問題Python
- 如何解決表單提交的中文亂碼問題
- 【SSM】WEB專案中的中文亂碼問題SSMWeb
- 微信公眾號傳送模板訊息,出現亂碼問題---字元中文編碼問題字元
- 如何解決python 圖表中文顯示亂碼問題Python
- confluence中文顯示亂碼問題
- springmvc 解決中文亂碼問題SpringMVC
- MySql中文亂碼問題解決MySql
- Jmeter 解決中文亂碼問題JMeter
- Java GBK 中文亂碼問題分析Java
- Mysql 插入中文及中文查詢 (修改+除錯)MySql除錯
- URL地址中的中文亂碼問題的解決
- leetcode題解(查詢表問題)LeetCode
- Java Web開發中文亂碼問題JavaWeb
- js解決url中文亂碼問題JS
- 徹底搞懂 python 中文亂碼問題Python
- idea控制檯中文亂碼的問題Idea
- 空格在程式碼中變成其他字元或者亂碼問題解決方法字元
- mysql 從一個表中查詢,插入到另一個表中MySql
- 解決pl/sql developer中資料庫插入資料亂碼問題SQLDeveloper資料庫
- phantomjs截圖中文亂碼問題解決JS
- 如何解決PuTTY中文亂碼的問題
- MySQL 中字元編碼問題MySql字元
- IDEA中Tomcat亂碼問題IdeaTomcat
- 記錄PHP post提交表單匯入mysql中文亂碼的問題PHPMySql
- 使用Kettle抽取資料時,出現中文亂碼問題解決方案
- 雲伺服器中文亂碼問題解決伺服器
- 解決Url帶中文引數亂碼問題