2011-06-17 73 views
0

我必須在linux(Ubuntu)中創建一個utf8文件(比如utf8_test.txt),在c中。 我試過fopen(),但它根據Locale創建hte文件 - 因爲locale是en_IN,我想它是用Ascii創建的。在c編程中在linux下創建一個utf8文件

是否有任何接口或功能,我可以指定文件的格式打開,或者我需要在文件的開頭添加一些字節,以便操作系統明白它是一個UTF8文件?

請給予您寶貴的意見。

謝謝。

回答

1

GLib包含用於處理UTF-8文本的例程,並且libiconv可用於在各種字符集之間轉換,包括UTF-8。

1

fopen可用於寫入二進制數據流。您的語言環境不相關。

你應該檢查你是否實際發送一個UTF-8字節流到文件。您可以通過在文件上運行十六進制編輯器來完成此操作,例如xxd,看看文件中是否出現UTF-8序列。

如果文件中沒有UTF-8字節,則發送到文件的字節流不正確。

如果你在文件中有UTF-8字節,那麼你的問題只是其中一個顯示。