我有一个测试文本,我发布和ajax调用(JQuery):
čéáűőúöüó é$ߤ÷׸¨¸˝¨´~˘˝°´˛>*čéáűőúöüó$>*ß$÷×÷;$¨˝´>$đ;ä
我只是在响应中
<?php
$text=$_POST["text"];
echo "\n\nUTF8_DECODE:\n";
echo utf8_decode($text);
echo "\nISO8859-2 -> UTF-8:\n";
echo iconv("ISO-8859-2","UTF-8",$text);
echo "\nUTF-8 -> ISO-8859-2 \n";
echo iconv("UTF-8","ISO-8859-2",$text);
?>
结果应为:
UTF8_DECODE:
?éá??úöüóé$¤¤÷׸¨¸?¨'~??°'?&gt; *?éá??úöüó$&gt; *ß$÷×÷; $¨?'&gt; $ ?; A
ISO8859-2 - &gt; UTF-8:
čéáűőúöüó E $ߤ÷×'〜˘˝°'˛&GT *čéáűőúöüó$&GT * SS $÷×÷; $'&GT; $đ; A
UTF-8 - &gt; ISO-8859:
ĂĂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ $ÄÂäÄËÄÂøèøĂÂèĂÂ'〜AAAAAA°ĂÂ'ĂÂ&GT * AAAL ÄÄÄšÄÄšÂÄĹÄĹÄĹşÄĹ$&GT;节AA $ÄËÄÂÄË; $èĂÂĂÂ'&GT; $ AA;Ĥ
但它是:
UTF8_DECODE:
?éá??úöüóé$¤¤÷׸¨¸?¨'~??°'?&gt; *?éá??úöüó$&gt; *ß$÷×÷; $¨?'&gt; $ ?; A
ISO8859-2 - &gt; UTF-8:
ĂĂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ $ÄÂäÄËÄÂøèøĂÂèĂÂ'〜AAAAAA°ĂÂ'ĂÂ&GT * AAAL ÄÄÄšÄÄšÂÄĹÄĹÄĹşÄĹ$&GT;节AA $ÄËÄÂÄË; $èĂÂĂÂ'&GT; $ AA;Ĥ
UTF-8 - &gt; ISO-8859-2:
čéáűőúöüó E $ߤ÷×'〜˘˝°'˛&GT *čéáűőúöüó$&GT * SS $÷×÷; $'&GT; $đ; A
我的问题是为什么?我想念的是什么? 因为我的文本是ISO-8859-2并且我想转移到UTF-8,为什么我需要在以下时间使用相反的方法:
string iconv(string $ in_charset,string $ out_charset,string $ str )
从 in_charset 对字符串str 执行字符集转换 到 out_charset 。
也许ajax请求以UTF-8编码为ISO-8859-2字符?