在本地將sql檔案匯入oracle資料庫中文出現亂碼
今天我在自己的電腦上面使用sqlplus登入遠端oracle,然後將sql檔案匯入遠端資料庫的表中,在成功匯入之後去相應表中檢視匯入的資料發現亂碼,於是去網上查詢到了解決辦法,現在將解決辦法記錄下來。
1、首先產生問題的原因是,自己電腦環境變數NLS_LANG的值和資料庫字符集不一致就造成了匯入之後資料是亂碼的問題。
2、解決辦法就是將自己電腦的環境變數NLS_LANG的值改成和資料庫字符集一樣的編碼。
3、具體操作步驟:
(一):檢視本地環境變數
echo %NLS_LANG%;
(二):檢視資料庫字符集
select userenv('language') from dual;
(三):修改環境變數NLS_LANG的值
修改電腦的環境變數NLS_LANG的值:
windows系統: set NLS_LANG=資料庫字符集如SIMPLIFIED CHINESE_CHINA.ZHS16GBK
liunx系統:export NLS_LANG=資料庫字符集如SIMPLIFIED CHINESE_CHINA.ZHS16GBK;
經過上面3個步驟之後,再次匯入sql檔案之後,檢視資料發現一切正常。還要注意的一點是這種方式是臨時修改,本地登入退出後將失效。