(完美解決)PL/SQL顯示亂碼-無法進行中文條件查詢解決
PLSQL亂碼問題皆是ORACLE服務端字符集編碼與PLSQL端字符集編碼不一致引起。
類似亂碼問題都可以從編碼是否一致上面去考慮。
解決:
1. 查詢Oracle服務端字符集編碼,獲取NLS_CHARACTERSET字段值:
執行
sql代碼
select * from v$nls_parameters;
保存查詢到的值,如:NLS_CHARACTERSET = AL32UTF8
2. 查詢Oracle服務端語言信息:
執行
sql代碼
SELECT 'AMERICAN_AMERICA.' || PROPERTY_VALUE
FROM DATABASE_PROPERTIES;
保存查詢到的值,如:AMERICAN_AMERICA.AL32UTF8
3. 設置本地環境變量。(PLSQL優先從環境變量中獲取屬性)
右擊 我的電腦 -> 屬性 -> 告警系統屬性 -> 高級 -> 環境變量 -> 系統變量欄
新增如下兩條記錄:
NLS_CHARACTERSET = AL32UTF8
NLS_LANG = AMERICAN_AMERICA.AL32UTF8
4. 重啓PLSQL,OK。
類似亂碼問題都可以從編碼是否一致上面去考慮。
解決:
1. 查詢Oracle服務端字符集編碼,獲取NLS_CHARACTERSET字段值:
執行
sql代碼
select * from v$nls_parameters;
保存查詢到的值,如:NLS_CHARACTERSET = AL32UTF8
2. 查詢Oracle服務端語言信息:
執行
sql代碼
SELECT 'AMERICAN_AMERICA.' || PROPERTY_VALUE
FROM DATABASE_PROPERTIES;
保存查詢到的值,如:AMERICAN_AMERICA.AL32UTF8
3. 設置本地環境變量。(PLSQL優先從環境變量中獲取屬性)
右擊 我的電腦 -> 屬性 -> 告警系統屬性 -> 高級 -> 環境變量 -> 系統變量欄
新增如下兩條記錄:
NLS_CHARACTERSET = AL32UTF8
NLS_LANG = AMERICAN_AMERICA.AL32UTF8
4. 重啓PLSQL,OK。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.