Oracle - SQLPlus中文顯示亂碼問題
一、原因
SqlPlus亂碼與作業系統使用者中的NLS_LANG這個環境變數有關係,如果這個與資料庫字符集不一致的話就會產生亂碼
SqlPlus亂碼與作業系統使用者中的NLS_LANG這個環境變數有關係,如果這個與資料庫字符集不一致的話就會產生亂碼
二、分析
檢視系統環境變數NLS_LANGxl-db@oracle$echo $NLS_LANG
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
檢視資料庫字符集 SQL> SELECT * FROM NLS_DATABASE_PARAMETERS;
PARAMETER VALUE
------------------------------ ----------------------------------
NLS_LANGUAGE AMERICAN -- 顯示方式,就是 SQLPLUS 的程式的顯示字型,有SIMPLIFIED CHINESE,AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET AL32UTF8 -- 字符集設定, 常用的有UTF8,US7ASCII,WE8ISO8859P1,ZHS16GBK,AL32UTF8
NLS_CALENDAR GREGORIAN
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_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION
查詢NLS_LANG即作業系統環境變數要設為 NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET,如:
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
三、效果
#### 未修改NLS_LANG中字符集前的登入 ####
xl-db@oracle$echo $NLS_LANG
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
xl-db@oracle$sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 11 21:50:18 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
# 沒有顯示"連線到"的提示行
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
#### 修改為AMERICAN_AMERICA.AL32UTF8後 ####
xl-db@oracle$export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
xl-db@oracle$
xl-db@oracle$sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 21 21:51:14 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to: # 有顯示提示行
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
#### 修改為SIMPLIFIED CHINESE_CHINA.AL32UTF8後 ####
xl-db@oracle$export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
xl-db@oracle$
xl-db@oracle$sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期二 11月 21 21:54:18 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
連線到: # 有顯示提示行
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
相關文章
- oracle sqlplus中文顯示亂碼的問題OracleSQL
- ubuntu 中文顯示亂碼問題Ubuntu
- oracle中文顯示亂碼Oracle
- Navicat for mysql 顯示中文亂碼問題MySql
- SQLPLUS顯示亂碼SQL
- LINUX SSH顯示中文亂碼問題解決Linux
- LiveCharts中文顯示亂碼問題的解決Echarts
- secureCRT顯示亂碼問題Securecrt
- PHP顯示MySQL亂碼問題PHPMySql
- 如何解決python 圖表中文顯示亂碼問題Python
- JFreechart 在linux下不顯示及中文亂碼問題Linux
- pl/sql developer中文顯示亂碼SQLDeveloper
- 解決SecureCRT中文顯示亂碼Securecrt
- QT中文顯示亂碼解決QT
- 設定spacevim字型顯示亂碼問題
- 解決CentOS 中顯示亂碼問題CentOS
- PLSQL中漢字顯示亂碼問題SQL
- Oracle:sqlplus查詢出的中文是亂碼問題的解決(轉)OracleSQL
- hive表查詢中文顯示亂碼Hive
- 字元顯示亂碼問題處理辦法字元
- EasyUI 中文亂碼問題UI
- MSSQL中文亂碼問題SQL
- Java 中文 亂碼問題Java
- navicat for mysql顯示中文亂碼解決方案MySql
- Mysql輸出中文顯示亂碼處理MySql
- toad 中文顯示亂碼解決方法
- SecureCRT遠端連線顯示中文亂碼Securecrt
- ubuntu中文顯示亂碼解決辦法Ubuntu
- HPUX下,解決xmanager的顯示亂碼問題UX
- oracle 輸出中文亂碼問題解決方案Oracle
- SpringMVC中文亂碼問題SpringMVC
- Python中文亂碼問題Python
- Cookie值中文亂碼問題Cookie
- 解決中文亂碼問題
- Ubuntu中解決pdf中文亂碼或不顯問題Ubuntu
- [oracle]解決centos 7下oracle的中文亂碼問題OracleCentOS
- 請教一個傳遞引數的時候中文顯示亂碼的問題。
- linux中顯示中文亂碼如何解決?Linux