在Webapp中,我坚持尝试将所有内容保存在UTF-8中:
>数据库(CHARSET = utf8)
>源文件(使用utf8;用utf8编写)
>模板(对于Template Toolkit,使用ENCODING => utf8)
>用户输入和输出(HTTP中的charset = utf8标头,用于STDIN和STDOUT的binmode:utf8)
但是我仍然需要对来自数据库的数据使用Encode :: decode(‘UTF-8’,$data),否则它们会被双重编码或以某种方式被破坏.
为什么是这样?我该如何摆脱这个烦人的额外步骤?难道没有办法只保留一切,每次都是UTF-8,而不必手动转换任何东西?
解决方法:
您可能会发现这两个线程很有趣:
Why does modern Perl avoid UTF-8 by default?
How well does your language support unicode in practice?