功能]
對於給定文件把它的內容從一種編碼轉換成另一種編碼。
[描述]
-f encoding :把字符從encoding編碼開始轉換。
-t encoding :把字符轉換到encoding編碼。
-l :列出已知的編碼字符集合
-o file :指定輸出文件
-c :忽略輸出的非法字符
-s :禁止警告信息,但不是錯誤信息
--verbose :顯示進度信息
-f和-t所能指定的合法字符在-l選項的命令里面都列出來了。
[舉例]
*列出當前支持的字符編碼:
#iconv -l
*將文件file1轉碼,轉后文件輸出到fil2中:
#iconv -f EUC-JP-MS -t UTF-8 file1 -o file2 //沒-o那么會輸出到標准輸出.
*實際需求,從hive中取出的數據是utf8的,要load到mysql中,gbk編碼。所以在load之前要先對文件進行轉碼。
mysql_cmd = "iconv -c -f utf-8 -t gbk ./data/al_ver_" + yesterday_time + ".xls -o ./data/GBK_al_ver_" + yesterday_time + ".xls " print(mysql_cmd) os.system(mysql_cmd) mysql_cmd = "mysql -h60.28.200.78 -uroot -pyeelion -A LogStat_RT -e \"load data local infile \'./data/GBK_al_ver_" + yesterday_time + ".xls ' into table HiveData_508\"" print(mysql_cmd) os.system(mysql_cmd)
