首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

PL/SQL Developer 中文亂碼根因與 NLS_LANG 環境變量一鍵修復

     編輯:MySQL 綜合教學

PL/SQL Developer 中文亂碼根因與 NLS_LANG 環境變量一鍵修復

PL/SQL Developer 顯示中文亂碼,本質是客戶端字符集與數據庫字符集不匹配。本文提供「查庫字符集 → 設環境變量 → 重啟工具」三步標準化修復流程,並解析 NLS_LANG 三段式結構與常見編碼對照表。

根因

Oracle 數據庫字符集(如 ZHS16GBK、AL32UTF8)與 PL/SQL Developer 進程環境變量 NLS_LANG 不一致,導致字節流解碼錯誤。

修復步驟

  1. 查詢數據庫字符集:
    SELECT USERENV('LANGUAGE') FROM DUAL;
    -- 典型輸出:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    -- 或:AMERICAN_AMERICA.AL32UTF8
  2. 新建系統環境變量:
    • 變量名:NLS_LANG
    • 變量值:完全複製上一步輸出,例 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  3. 重啟 PL/SQL Developer 即可正常顯示中文。

NLS_LANG 結構解析

NLS_LANG = _.
           │           │           │
           │           │           └─ 字符集(關鍵):ZHS16GBK, AL32UTF8, UTF8, US7ASCII
           │           └─ 地區:CHINA, AMERICA, TAIWAN
           └─ 語言:SIMPLIFIED CHINESE, TRADITIONAL CHINESE, AMERICAN

常見編碼對照表

數據庫字符集NLS_LANG 推薦值適用場景
ZHS16GBKSIMPLIFIED CHINESE_CHINA.ZHS16GBK簡體中文主流,Windows 客戶端
AL32UTF8AMERICAN_AMERICA.AL32UTF8Unicode 全字符集,推薦新建庫
UTF8AMERICAN_AMERICA.UTF8舊版 UTF8(僅 BMP),不支援 Emoji
US7ASCIIAMERICAN_AMERICA.US7ASCII純英文環境

驗證腳本

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved