使用 icu 或 iconv 进行字符集转换

标签 c cgi iconv icu codepages

在我的 CGI 库中,我使用转换器将 IANA 注册的字符集转换为 native 宽 unicode(UTF-16/32,取决于平台)。对于 ICU,所有集和别名都列在 http://www.iana.org/assignments/character-sets 中吗?允许输入到 ucnv_open 还是需要手动交叉引用映射,就像 iconv 一样,我基本上将每个别名映射到相应的 iconv 编码名称?尽管 iconv 既好又简单,但它需要使用一个表来将首选 MIME 类型和别名映射到 iconv 的内置类型(包括将 ISO-8859-x[EI]* bidi 映射到它们的“标准”ISO-8859形式)?

或者有没有办法强制所有表单输入为 ISO-8859-x/UTF-8 以简化所需的转换工作量?

  • 参见 rfc 1556

最佳答案

RTFMing HTML 规范,accept-charset="..." 完成工作,因此这是无用的开销。

关于使用 icu 或 iconv 进行字符集转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8198860/

相关文章:

c - 错误 "invalid types ' 浮点 [100][浮点 ]' for array subscript"

c - 如果我不在 header 中声明所有函数会怎样?

html - 如何使用 CGI.pm 命名链接

php - 警告 mb_convert_encoding() 未知编码 "WINDOWS-1256"

javascript - nodejs UTF-8编码字符串有黑色问号

c++ - 将通用引用转换为可调用的 void 指针,反之亦然

Android:从不兼容的指针类型初始化 JNI 函数指针

linux - 无法在 bash 中使用/dev/stdin 访问 POSTed 变量

perl - perl 作为一种语言和 CGI​​ 脚本有什么区别?

linux - libiconv 在 windows/linux 上的问题