gpt4 book ai didi

php - 将 ajax 响应从 windows-1255 转换为 UTF8

转载 作者:行者123 更新时间:2023-12-04 05:48:21 25 4
gpt4 key购买 nike

我使用 Ajax 调用接收希伯来语的响应。结果来自不同的站点,是 windows-1255编码。我的主页是 UTF-8 .
响应如下所示:

îéãò ìî÷áì  áæ÷ äçáøä äéùøàìéú  àéï 

我找到了这个网站: http://kanjidict.stc.cx/recode.php
使用 windows-1255 到 UTF-8(+标记最后一个复选框),结果是完美的。
问题是我如何在 PHP 上做到这一点?

我所做的一切都会导致垃圾。
$data = 'îéãò ìî÷áì  áæ÷ äçáøä äéùøàìéú àéï  ';
echo mb_detect_encoding($data);

结果 UTF-8 (也许它真的是 UTF-8,因为我的 php 文件是 utf-8)

我实际上需要这个结果:
מידע למקבל  בזק החברה הישראלית אין 

如果我尝试 iconv:
echo iconv("WINDOWS-1255", "UTF-8", "îéãò ìî÷áì  áæ÷ äçáøä äéùøàìéú àéï  ");

我明白了:
ֳ®ֳ©ֳ£ֳ² ֳ¬ֳ®ֳ·ֳ¡ֳ¬ ֳ¡ֳ¦ֳ· ֳ₪ֳ§ֳ¡ֳ¸ֳ₪ ֳ₪ֳ©ֳ¹ֳ¸ֳ ֳ¬ֳ©ֳ÷ ֳ ֳ©ֳ¯ 

到底是怎么回事?我怎样才能得到希伯来语结果?

谢谢!!

最佳答案

当您有包含此内容的文件时:

echo iconv("WINDOWS-1255", "UTF-8", "îéãò ìî÷áì  áæ÷ äçáøä äéùøàìéú àéï  ");

使用哪种编码保存文件本身非常重要。 PHP 的字符串不关心编码,它们只是作为字节数组工作。因此,如果您使用 UTF-8 编码保存此类文件,则字符串当然会保存为 UTF-8,而 iconv 无法将其从 WIN1255 转换,因为它是 UTF-8。

我的建议是 1) 从服务器检索原始编码中的字符串 2) 将其保存到文件中 3) 使用该文件进行实验,因为这样您就可以确定您只能按原样处理数据。一旦您尝试将其复制并粘贴到某处,您可能会更改该事物的编码。

此外,使用十六进制编辑器查看数据也不错,这样您就可以确定存储在文件中的内容。

无论如何,您所说的尝试做的事情似乎是正确的:从服务器获取 WIN-1255 数据,然后在其上调用 iconv(...),现在它是 UTF-8,将其输出到 HTML 页面(当然是有一个 <meta> 表示它是 UTF-8)。

关于php - 将 ajax 响应从 windows-1255 转换为 UTF8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10400566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com