UTF-8是否可以读/写亚洲语言?

时间:2009-08-11 17:45:00

标签: c# unicode utf-8

我通过网络表单(UTF-8)接受用户输入,将其保存到MySQL DB(使用UTF-8字符集)并稍后生成文本文件(编码为UTF-8)。我想知道是否有任何机会使用UTF-8而不是像UCS-2这样的文本损坏?在这种情况下,UTF-8是否足够好?

5 个答案:

答案 0 :(得分:14)

更重要的是,它可能是曾经考虑使用的唯一编码。

关于这个主题的一些很好的阅读:

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) by Joel Spolsky

答案 1 :(得分:10)

如果您正在使用大量的亚洲文本(比拉丁文本更多),您可能需要考虑使用UTF-16。 UTF-8可以准确地表示整个Unicode字符范围,但它针对主要是ASCII的文本进行了优化。 UTF-16在整个Basic Multilingual Plane上节省空间。

但是UTF-8肯定是“足够好” - 因为你使用的是UTF-8而不是因为你使用的是UTF-16而不会出现腐败。

答案 2 :(得分:2)

UTF-8可以表示任何unicode字符。因此,UTF-8应该没有问题。

实际上,UTF-8甚至可以代表UCS-2不能代表的一些字符(UCS-2只能代表U + 0000到U + FFFF; UTF-8,UTF-16和UCS-4处理所有unicode代码点)

答案 3 :(得分:1)

据我所知,UTF-8旨在涵盖所有这些早期的Unicode变体,所以是的,它应该可以在UCS-2上使用它。请参阅http://www.unicode.org/versions/Unicode5.1.0/,并在侧边栏中查看5.0书籍章节;第9-12部分应该是你想要的。

答案 4 :(得分:0)

与梵文很有效。