緣由: PLSQL亂碼問題皆是ORACLE服務端字符集編碼與PLSQL端字符集編碼不一致引發。相似亂碼問題均可以從編碼是否一致上面去考慮。sql
解決:編碼
查詢Oracle服務端字符集編碼,獲取NLS_CHARACTERSET字段值: 執行 sql代碼
select * from v$nls_parameters 保存查詢到的值,如:NLS_CHARACTERSET = ZHS16GBK變量
查詢Oracle服務端語言信息: 執行 sql代碼
SELECT 'AMERICAN_AMERICA.' || PROPERTY_VALUE FROM DATABASE_PROPERTIES 保存查詢到的值,如:AMERICAN_AMERICA.ZHS16GBK亂碼
設置本地環境變量。(PLSQL優先從環境變量中獲取屬性) 右擊 個人電腦 -> 屬性 -> 高級系統設置 -> 高級 -> 環境變量 -> 系統變量-> 新建系統變量 新增以下兩條記錄: NLS_CHARACTERSET = ZHS16GBK NLS_LANG = AMERICAN_AMERICA.ZHS16GBKselect