[問題] 寫出 UTF8 文字檔
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
#include "stdio.h"
#include "windows.h"
問題(Question):
想要可以寫出 一個文字檔 是使用 UTF8 編碼模式
而且裡面的中文字也不會是亂碼,有 Google 過,
UTF8的檔頭 是需要先寫入 0xEF 0xBB 0xBF 這三個 byte!
我也有照實寫入入這三個Byte,這時候再用 Notepad++ 打開來看
的確 編碼方式 變成了UTF8了! 但是...寫入的中文字
卻變成了亂碼 = =a
預期的正確結果(Expected Output):
希望 可以產生的檔案是 UTF8 格式,以及中文字不是亂碼。
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
網頁版 : http://codepad.org/Z71SCAjA
#include "stdio.h"
#include "windows.h"
int main(int argc, char * argv[]){
FILE *fp = NULL;
char FileName[] = "test.txt";
char String[] = "哈囉! 你好嘛!? abcdefg";
if ((fp = fopen (FileName, "w")) == NULL) {
printf("開啟檔案錯誤!\n");
}
else {
putc(239,fp);
putc(187,fp);
putc(191,fp);
fprintf (fp, String);
fclose (fp);
}
}
補充說明(Supplement):
希望給個方向,像是有沒有函式可以用,或者 Google 關鍵字的方向ˊˋa
以上 謝謝 >"<
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.161.13.57
推
10/28 02:52, , 1F
10/28 02:52, 1F
→
10/28 02:53, , 2F
10/28 02:53, 2F
→
10/28 02:58, , 3F
10/28 02:58, 3F
→
10/28 03:09, , 4F
10/28 03:09, 4F
→
10/28 03:10, , 5F
10/28 03:10, 5F
推
10/28 10:03, , 6F
10/28 10:03, 6F
→
10/28 13:12, , 7F
10/28 13:12, 7F
→
10/28 13:13, , 8F
10/28 13:13, 8F
→
10/28 13:15, , 9F
10/28 13:15, 9F
→
10/28 17:09, , 10F
10/28 17:09, 10F
推
10/28 18:55, , 11F
10/28 18:55, 11F
→
10/28 18:55, , 12F
10/28 18:55, 12F
→
10/28 18:56, , 13F
10/28 18:56, 13F
→
10/28 18:57, , 14F
10/28 18:57, 14F
推
10/28 19:09, , 15F
10/28 19:09, 15F
→
10/28 21:34, , 16F
10/28 21:34, 16F
→
10/28 21:34, , 17F
10/28 21:34, 17F
→
10/28 21:35, , 18F
10/28 21:35, 18F
→
10/28 22:25, , 19F
10/28 22:25, 19F
→
10/28 23:45, , 20F
10/28 23:45, 20F
推
10/29 19:13, , 21F
10/29 19:13, 21F
→
10/29 19:15, , 22F
10/29 19:15, 22F
→
10/30 09:06, , 23F
10/30 09:06, 23F
→
10/30 09:07, , 24F
10/30 09:07, 24F
→
10/30 09:07, , 25F
10/30 09:07, 25F
→
10/30 09:08, , 26F
10/30 09:08, 26F
→
10/30 10:56, , 27F
10/30 10:56, 27F
→
10/30 10:57, , 28F
10/30 10:57, 28F
→
10/30 10:57, , 29F
10/30 10:57, 29F