0

こんにちは、php を使用しています。配列のデータと読み取ったキャプチャのデータを比較する必要があります。しかし、htmlエンコーディングに問題がありました。私の配列からの例:

"osiemnaście" => 18,

およびキャプチャからのデータ:

osiemnaście

これらのデータをどのように比較できますか? 「html_entity_decode()」は既に試しましたが、結果はありません。

4

3 に答える 3

1

そのアクセント付きの「s」文字の文字セット/エンコーディングの問題のように見えます。サーバー側と HTML 側の両方で UTF-8 を設定していることを確認してください。

PHP をたくさん使ってからしばらく経ちましたが、次の関数が役立つかもしれません: http://php.net/manual/en/function.mb-convert-encoding.php

于 2013-09-19T17:39:59.627 に答える
1

16 進エンティティをデコードするには、PHP 組み込み関数がこれらをカバーしていないため、少し作業する必要があります。

$string = "osiemnaście";
$string = preg_replace('/\&\#x([a-fA-F0-9]+)\;/me', 'mb_convert_encoding("&#".hexdec("\\1").";", "UTF-8", "HTML-ENTITIES")', $string);

// $string is now  "osiemnaście"

echo ($string == "osiemnaście")
   ? "success"
   : "failure";
于 2013-09-19T17:42:04.660 に答える
0

あなたのオプションは、逆の方法でそれを行うことです:

htmlentities("osiemnaście") == $captchainput

htmldocument からのファイルと入力のエンコーディングに注意する必要があります。

php を使用して documentencoding を定義できます。

header('Content-Type: text/html; charset=utf-8');

またはhtmlで:<meta charset="utf-8" />

于 2013-09-19T17:39:48.983 に答える