0

私は Foswiki を使用していますが、本当に奇妙な問題に遭遇しました。LDAP サーバーを使用して人を認証していますが、中国語を含むエントリは、既に utf-8 であっても utf-8 にエンコードされていることがわかりました。これが私がしたことです

  1. このテストコードをコマンドラインで実行すると、正しい出力が得られます

$str = "程洋" #they're Chinese words print STDERR "string is $str";

$str =~ s/(.)/sprintf("0x%x ",ord($1))/eg;

print STDERR "string hex is $str";

->程洋
->0xe7 0xa8 0x8b 0xe6 0xb4 0x8

これらのコードでは使用できませんcode sample。文字列式がマークダウン システムを混乱させているようです。申し訳ありません。

  1. この環境では、apache2 によって保持されている Foswiki プラグイン システムで同じコードを実行すると、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

ご覧のとおり、単語は URL のような文字列にエスケープされ0xe7\xa8\x8b\xe6\xb4\x8bています。だけでなくprint、ウェブページの内容もこのように表示され、中国語の単語の混乱コードが発生します。なぜですか?

4

1 に答える 1

0

これは、サポートの質問 1817 http://foswiki.org/Support/Question1817に関連しているようです。

私は Foswiki で utf-8 をサポートした経験がなく、誰がサポートしたかも知りません。

Foswiki-discuss@lists.sourceforge.net に質問を投稿することをお勧めします。そして次のように述べます。

  • フォスウィキのバージョン
  • パールバージョン
  • アパッチのバージョン
  • オペレーティング·システム

適切なスキルを持つ人に配布される可能性があります。

于 2016-09-21T04:56:16.877 に答える