0

我有一个测试文本,我使用 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_解码:

?éá??úöüó é$ߤ÷׸¨¸?¨´~??°´?>*?éá??úöüó$>*ß$÷×÷;$¨?´>$?;ä

ISO8859-2 -> UTF-8:

čéáűőúöüó é$ߤ÷׸¨¸˝¨´~˘˝°´˛>*čéáűőúöüó$>*ß$÷×÷;$¨˝´>$đ;ä

UTF-8 -> ISO-8859:

€ĺäääšäšäšääĺäĺşäĺäĺ$ $ $€€¤ääëäëäëâäR出了讯〜

但它是:

UTF8_解码:

?éá??úöüó é$ߤ÷׸¨¸?¨´~??°´?>*?éá??úöüó$>*ß$÷×÷;$¨?´>$?;ä

ISO8859-2 -> UTF-8:

€ĺäääšäšäšääĺäĺşäĺäĺ$ $ $€€¤ääëäëäëâäR出了讯〜

UTF-8 -> ISO-8859-2:
čéáűőúöüó é$ߤ÷׸¨¸˝¨´~˘˝°´˛>*čéáűőúöüó$>*ß$÷×÷;$¨˝´>$đ;一个

我的问题是为什么会这样??我想念什么?因为我的文本是 ISO-8859-2 并且我想传输到 UTF-8,为什么我需要在以下情况下使用相反的方法:

字符串 iconv ( 字符串 $in_charset , 字符串 $out_charset , 字符串 $str )

字符串 str执行从in_charsetout_charset的字符集转换

也许以 UTF-8 编码的 ajax 请求是 ISO-8859-2 字符?

4

0 回答 0