今天遇到個開發給了130多個SQL 文件,讓我在oracle數據庫中執行。
但是傳輸到數據庫機器上的時候,vi裏面的中文亂碼。
現在整理了下,檢查思路:
- 檢查secureCRT裏面的會話配置選項的 編碼是否是UTF-8
- 檢查系統級別的LANG 變量設置。export LANG=”en_US.UTF-8”
- 檢查這個文件的文件屬性。 file 文件名
結果到最後發現這個文件是ISO的,不是uft-8的,裏面的中文不管怎麼設置,都不能正常顯示。
所以改變文件屬性。用以下命令:
iconv -f gbk -t UTF-8 文件名 -o 重新定向到的文件名
查看文件編碼
file -i filename
遞歸轉換(包括子文件夾)
find default -type d -exec mkdir -p utf/{} \;
find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;
這兩行命令將default目錄下的文件由GBK編碼轉換爲UTF-8編碼,目錄結構不變,轉碼後的文件保存在utf/default目錄下。