我必须在linux(Ubuntu)中创建一个utf8文件(比如说utf8_test.txt)。 我尝试了fopen(),但它根据Locale创建了hte文件 - 因为语言环境是en_IN,它是在Ascii中创建的,我想。
是否有任何接口或函数可用于指定要打开的文件的格式,或者我需要在文件的开头添加一些字节,以便操作系统了解它是UTF8文件?
请提供您宝贵的意见。
谢谢。
答案 0 :(得分:1)
GLib包含用于处理UTF-8文本的例程,libiconv可用于在各种字符集之间进行转换,包括UTF-8。
答案 1 :(得分:1)
fopen 可用于编写二进制数据流。您的区域设置无关紧要。
您应该检查是否实际上是在向文件发送UTF-8字节流。您可以通过在文件上运行十六进制编辑器来完成此操作,例如 xxd ,并查看文件中是否出现UTF-8序列。
如果文件中没有UTF-8字节,则发送到文件的字节流不正确。
如果文件中有UTF-8字节,那么您的问题就是显示一个。