場景:產品將版本發布說明發給配置管理員(我自己),我使用jenkins建的任務自動傳這個版本發布說明文件(release_note.txt)到ftp以后,打開文件后發現亂碼。
調試: 但是將文件另存為utf-8格式再傳上去,就不會亂碼。
解決:需要將文件自動轉化成utf-8在傳,可以使用iconv來轉換,由於我的系統上安裝了gitbash, 我發現這個命令在gitbash中默認是存在的,這就很好了,直接bat調用一條shell命令即可(因為我的上傳動作是在windows機器上做的,如果windows 要使用iconv,需要裝iconv.exe,還要下載,麻煩,所以我用了gitbash里自帶的iconv)
shell命令如下:
iconv -f utf-8 -t utf-8 release_note.txt > release_note_bak.txt
bat 中調用shell命令可以如下:
"C:\Program Files (x86)\Git\bin\sh.exe" --login -i -c "iconv -f utf-8 -t utf-8 release_note.txt > release_note_bak.txt"
這個release_note_bak.txt就是utf-8的格式,傳到ftp上不會亂碼。