1

の 2 番目の引数として渡すのに適した文字エンコード順序は何ですかmb_detect_encoding( )

UTF の場合は ASCII が返され (場合によっては)、gb2312 の場合は EUC-CN が返されます。関数に渡されたシーケンスは、簡体字中国語の EUC-CN 互換文字列として返されます。

ここに私が収集したものをいくつか示しますが、リストをできるだけ包括的にしたいと思います.

EUC-CN
EUC-JP
EUC-KR
EUC-TW
SJIS
ASCII
JIS
UTF-8
EUC-JP
EUC-CN
EUC-KR
EUC-TW
SJIS

順序を修正し、このリストをできるだけ大きくするのを手伝ってください.

編集1:

これを使用してやりたいことは、任意の文字列を utf8 に変換することだけです。

編集2:

以下の提案を考慮して、エンコード変換でテキストが無駄になる可能性を最小限に抑えたいと考えています。これは、変換されたテキストだけが私のサイトに依存しているためです。したがって、私が使用しているソリューションが完璧なものでなくても. 最も信頼できるソリューションを教えてください。

4

1 に答える 1

2

最も正確な応答を与える真の優先順位はありません。

潜在的に検出され、多くの文字セットで有効な文字列が常に存在します。mb_detect_encoding は、どちらが正しいかを判断できません。

これを解決する唯一の方法は、次のとおりです。

  1. 正しいエンコーディングを選択するために、言語を理解できる人が必要です。
  2. 文字列内の実際のテキストを潜在的に分析し、どれが正しい可能性が最も高いかを「推測」します。

第二に、既製のオプションはわかりませんが、文字出現率、ベイジアン フィルター、ニューラル ネットワーク、辞書チェックなどが役立つことは想像できます ;)

于 2012-08-02T17:49:27.940 に答える