Php windows-1252到euc kr编码

Php windows-1252到euc kr编码,php,unicode,character-encoding,byte,Php,Unicode,Character Encoding,Byte,从其他windows应用程序中,我得到了这个文本포링카드 您可以在这里生成它,并在下面的描述中找到附加图像 此外,我在代码中尝试了这一点,在该工具上复制了相同的逻辑 $windows = mb_convert_encoding('Æ÷¸µÄ«µå', 'windows-1252', 'utf-8'); $euc_kr = mb_convert_encoding($windows, 'euc-kr'); echo $euc_kr;exit; 但我得到了这种输出: ??? 所以我试着比较echo

从其他windows应用程序中,我得到了这个文本
포링카드

您可以在这里生成它,并在下面的描述中找到附加图像

此外,我在代码中尝试了这一点,在该工具上复制了相同的逻辑

$windows = mb_convert_encoding('Æ÷¸µÄ«µå', 'windows-1252', 'utf-8');
$euc_kr = mb_convert_encoding($windows, 'euc-kr');

echo $euc_kr;exit;
但我得到了这种输出:

???

所以我试着比较echo($euc_kr=='포링카드') ? '是:'否';
但仍返回


事实上,我认为这是另一个问题。您希望将字符解释为韩语,并将其作为UTF-8写入数据库。因此

mb_convert_encoding('Æ÷¸µÄ«µå', 'utf-8, 'euc-kr');
考虑到“Æ÷¸µÄ«µå”不是UTF-8编码的,应该足够了。如果是UTF-8编码的,您必须执行额外的操作

mb_convert_encoding('Æ÷¸µÄ«µå', 'windows-1252');

在另一个调用之前。

我猜您的Web服务器正在告诉浏览器,在您输出不同的编码时,将数据显示为UTF-8。您是否尝试回显($windows);?还有,PHP文件是用哪种编码编写的?@PhilippGrassl,实际上我转储
$windows
并返回相同的输出,因为我有一个数据库记录,其中包含所有用韩语编写的unicode和文件,这就是我计划提取unicode的原因,这样我就可以很容易地找到该文件并在数据库中存储/更新我试图修改
header()
以防万一,但仍然没有机会。因为你可以做
echo($euc\u kr=='포링카드') ? '“是”:“否”;
我想你的脚本是用unicode编写的。你能在一个合适的编辑器(如记事本+)中打开该脚本并将文件转换为ASCII编码吗?可能是“Æ÷¸Ä«å”实际上是UTF-8编码的,而不是文件中的Windows-1252。我使用的是Sublime,是的,你是正确的,它是UTF-8,但是我需要更改代码吗?实际上我认为这是另一个问题。你想将字符解释为韩文,并将其作为UTF-8写入数据库。因此执行
mb\u convert\u编码(‘Æ÷¸Ä«å’、‘utf-8’、‘euc kr’)
应该足够了,因为‘Æ÷¸Ä«utf-8’不是utf-8编码的。如果是utf-8编码的,那么在另一个调用之前,您必须进行额外的
mbÇu转换编码(‘Æ÷¸Ä«å’、'windows-1252')