0

すべてのテキストが UTF-8 でエンコードされていることを確認するために、フィルターを介してテキストを実行したいと考えています。PHPでこれを行うための推奨される方法は何ですか?

4

5 に答える 5

2

あなたの質問は不明です。何かをエンコードしようとしていますか? もしそうなら、utf8_encodeはあなたの友達です。エンコードする必要がないかどうかを判断しようとしていますか? もしそうなら、結果が入力と同じであることを確認できるので、utf8_encodeはあなたの友人です!

于 2008-09-17T04:22:44.203 に答える
1

ここでマルチバイト文字列関数を確認してください

于 2008-09-17T04:27:00.387 に答える
0

入力文字列がどの文字セットでエンコードされているかを知る必要があります。そうしないと、どこにも速く行きません。

あなたがそれを正しくやりたいのなら、この記事は役に立つかもしれません:絶対最小すべてのソフトウェア開発者は絶対に、積極的にUnicodeと文字セットについて知っている必要があります(言い訳はありません!)

于 2008-09-17T04:31:24.383 に答える
0

バイトのストリームが与えられた場合、それがどのエンコーディングで始まるかを知る必要があります-電子メールはエンコーディングを指定するためにmimeヘッダーを使用し、httpはエンコーディングを指定するためにhttpヘッダーを使用します。また、Webページのメタタグでエンコーディングを指定することもできますが、常に尊重されるとは限りません。

とにかく、変換元のエンコーディングがわかったら、iconvを使用してutf8に変換します。phpドキュメントのiconvセクションを見てください。そこにはたくさんの良い情報があります。

ああ、トーマスは私が探していたリンクを投稿しました。必読です。

于 2008-09-17T04:32:06.910 に答える
0

UTF-8 の有効性を確認する最も簡単な方法:

  1. 1 行だけが許可されている場合:

    preg_match('/^.*$/Du', $value)
    
  2. 複数行が許可されている場合:

    preg_match('/^.*$/sDu', $value)
    

これはPHP >= 4.3.5で機能し、デフォルト以外の PHP モジュールは必要ありません。

于 2008-09-17T14:16:57.800 に答える