我使用Foswiki并遇到了非常奇怪的问题。我使用LDAP服务器对人进行身份验证,发现中文条目编码为utf-8,即使它已经是utf-8。这就是我做的事情
$ str ="程洋" #他们是中文单词print STDERR" string是$ str&#34 ;;
$ str = ~s /(.)/ sprintf(" 0x%x",ord($ 1))/ eg;
print STDERR" string hex是$ str&#34 ;;
->程洋
->0xe7 0xa8 0x8b 0xe6 0xb4 0x8
我无法在这些代码上使用code sample
,似乎字符串表达式会混淆markdown system.sorry。
print STDERR
将自动重定向到/var/log/apache2/error.log,这次我得到这样的输出
->\xc3\xa7\xc2\xa8\xc2\x8b\xc3\xa6\xc2\xb4\xc2\x8b
->0xe7 0xa8 0x8b 0xe6 0xb4 0x8b
正如您所看到的,单词会被转换为类似网址的字符串,如果它0xe7\xa8\x8b\xe6\xb4\x8b
那么我认为它没问题,但是它们被编码为utf-8即使它已经是utf-8,但是十六进制仍然可以。它不仅发生在print
,网页上的内容也会像这样显示并导致任何中文单词的乱码,为什么?
答案 0 :(得分:0)
这似乎与支持问题1817 http://foswiki.org/Support/Question1817有关。
我对Foswiki的utf-8支持没有经验,也不认识任何人。
建议您在Foswiki-discuss@lists.sourceforge.net上发布您的问题。 并声明:
它可能会传播给具有合适技能的人。