一、注意事項
1.請注意漢字內碼(對應字元為\xcc等)和列印出的轉義字元(\\xcc)的區別!!!!該問題導致我們程式除錯了差不多一整天!
見:c語言中轉義字元的使用
2.另外庫函式iconv會把傳入的引數指標移位,這是正常的、請不要認為是自己程式有問題。
3.我的終端是utf-8格式,對於其他編碼不能顯示。
二、看看code
1.test.c
#include #include #include int code_convert(char *inbuf,int inlen,char *outbuf,int outlen)
int main()
2.gcc test.c -o test
3../test
tk--------->>>>ret is -1
src is ̷��
dst is 譚凱
三、iconv命令的正確使用
1.錯誤做法
vi input
\xcc\xb7\xbf\xad
iconv -f gb2312 -t utf-8 input >output
vi output
\xcc\xb7\xbf\xad
原因:在程式設計時\x是乙個轉義字元,可以說明\xcc只是乙個十六進製制的字元;但在檔案中不可以這樣做!
2.正確做法
vi input
譚凱
iconv -f gb2312 -t utf-8 input >output
vi output
ì·¿
四、專案總結
當遇到底層上報有誤,即:把"\xcc"上報成"\\xcc"時(前者包含乙個字元『\xcc』,後者包含4個字元'\\' ,'x','c','c')可以用提取後邊兩個字元,完後在新增的方法解決。
解決方法如下:
1.**
#include #include #include #include long atox(char *s)
int main()
return 0;
}
2.gcc test.c -o test
./test
a is \xcc\xb7\xbf\xad
strlen(a) is 16
atoi(&a[2]) is 204
atoi(&a[6]) is 183
atoi(&a[10]) is 191
atoi(&a[14]) is 173
PHP中文GBK編碼轉UTF 8
iconv 和 mb convert encoding的區別 string mb convert encoding string str,string to encoding mixed from encoding 需要先enable mbstring 擴充套件庫,在 php.ini裡將 exten...
關於qt中文utf 8轉gbk
筆者經歷了糟心的兩天時間,說多了都是淚,希大家有所幫助,不再同乙個地方浪費時間。筆者的任務 從資料庫獲取utf 8編碼的含中文的字串,並在linux平台使用qt顯示在 中。筆者所遇問題 中文始終為亂碼,度娘上mian函式加類似下面的函式也並沒用 qtextcodec codec qtextcodec...
上傳檔案亂碼,GBK轉UTF 8
最近遇到這樣乙個問題,我上傳檔案沒有轉換字符集windows預設gbk,結果當我需要讀檔案顯示時用utf 8轉當然會出現亂碼,為了解決這個問題,我就將上傳時檔案一同也轉成utf 8了這樣就不會亂碼了,上傳時轉換字符集方法如下 string root filepath 上傳路徑 file rootfi...