在我的一个数据库表中,我发现了一些损坏的单词,如:
Noël, japón, Świata
我后来发现应该是:
Noël, japón, świata
任何人都知道如何使用 PHP
将其转换回正常状态答案 0 :(得分:1)
不幸的是,使用php转换无法恢复。我刚刚创建了一个PHP脚本,它尝试了所有组合,不止一次(最多5次),并且没有一个产生“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";
}
}
}
...贪图输出没有捕获“japón”
答案 1 :(得分:1)
或者,您可以使用iconv
- Check the php manual