0

データベース テーブルの 1 つで、次のような破損した単語を見つけました。

Noël, japón, Świata

後で見つけたのは次のとおりです。

Noël, japón, świata

PHPを使用して通常の状態に戻す方法を知っている人

4

2 に答える 2

1

残念ながら、php 変換を使用して元に戻すことはできません。すべての組み合わせを複数回 (最大 5 回) 試行する PHP スクリプトを作成しましたが、いずれも "japón" を生成しません。だから、それは不可能です。

脚本:

<?php
$encodings=mb_list_encodings();
foreach($encodings as $enc_to) {
    foreach($encodings as $enc_from) {
        $str="Noël, japón, Świata";
        for ($i=0;$i<5;$i++) {
            $str=mb_convert_encoding($str,$enc_to,$enc_from);
            echo "$enc_from -> $enc_to ($i): ".$str."\n";
            echo "$enc_from -> $enc_to ($i) + html_entity_decode: ".html_entity_decode($str)."\n";
            echo "$enc_from -> $enc_to ($i) + htmlspecialchars_decode: ".htmlspecialchars_decode($str)."\n";
            echo "$enc_from -> $enc_to ($i) + urldecode: ".urldecode($str)."\n";
            echo "$enc_from -> $enc_to ($i) + htmlentities: ".htmlentities($str)."\n";
            echo "$enc_from -> $enc_to ($i) + htmlspecialchars: ".htmlspecialchars($str)."\n";
            echo "$enc_from -> $enc_to ($i) + urlencode: ".urlencode($str)."\n";
        }
    }
}

...出力をgrepすると、「japón」が見つかりません

于 2014-02-08T14:07:33.833 に答える
1

または、問題が文字エンコーディングに関連しているかどうかを確認することもできますiconv- Check the php manual

于 2014-02-08T14:08:38.900 に答える