识别编码类型


Recognize encoding type

我有这个编码字符串:

%E1%F0%E9+%E1%F8%F7%2C+%E2%E1%F2%FA%E9%E9%ED%2C+%E7%E5%E5%FA+%F9%EC%ED%2C+%F8%EE%FA+%E2%EF%2C+%FA%EC+%E0%E1%E9%E1+%E9%F4%E5+%28%E0%E6%F2%F7%E4+%E7%EC%F7%E9%FA%29%2C+%E6%E9%F7%E9%ED%2C+%EB%F8%EE%E9%E4

我想使用php (mb_convert_encoding可能)转换这个字符串看起来不错。

字符串应该是这样的:

בני ברק, גבעתיים, חוות שלם, רמת גן, תל אביב יפו (אזעקה חלקית), זיקים, כרמיה

问题是我不知道它是什么编码。

我通过POST方法接收这个数据,它看起来像是URL编码的,但是urldecode()不起作用

谢谢!

看起来像url编码,比较输入和预期输出它是单字节编码,绝对不是ASCII,

*google"希伯来语编码"*

啊,windows - 1255

<?php
header('Content-Type: text/html; charset=Windows-1255');
$str = '%E1%F0%E9+%E1%F8%F7%2C+%E2%E1%F2%FA%E9%E9%ED%2C+%E7%E5%E5%FA+%F9%EC%ED%2C+%F8%EE%FA+%E2%EF%2C+%FA%EC+%E0%E1%E9%E1+%E9%F4%E5+%28%E0%E6%F2%F7%E4+%E7%EC%F7%E9%FA%29%2C+%E6%E9%F7%E9%ED%2C+%EB%F8%EE%E9%E4';
echo urldecode($str);
输出:

בניברק,גבעתיים,חוותשלם,רמתגן,תלאביביפו(אזעקהחלקית),זיקים,כרמיה

编辑:

mb_convert_encoding()对我不起作用,但iconv()似乎已经做到了:

<?php
header('Content-Type: text/html; charset=UTF-8');
$str = '%E1%F0%E9+%E1%F8%F7%2C+%E2%E1%F2%FA%E9%E9%ED%2C+%E7%E5%E5%FA+%F9%EC%ED%2C+%F8%EE%FA+%E2%EF%2C+%FA%EC+%E0%E1
%E9%E1+%E9%F4%E5+%28%E0%E6%F2%F7%E4+%E7%EC%F7%E9%FA%29%2C+%E6%E9%F7%E9%ED%2C+%EB%F8%EE%E9%E4';
$dec = iconv('Windows-1255', 'UTF-8', urldecode($str));
?><html>
<body>
<p><?= $dec ?></p>
<p>The quick brown fox jumped over the lazy dog</p>
</html>
输出:

בניברק,גבעתיים,חוותשלם,רמתגן,תלאביביפו(אזעקהחלקית),זיקים,כרמיה

敏捷的棕色狐狸跳过了懒惰的狗

现在您只需要确保页面上的所有都是UTF-8,但至少几乎所有内容都应该彼此"很好地发挥作用"。或多或少。大多数时候……

有趣的事实:您可能遇到的另一个8位希伯来语编码是ISO/IEC 8859-8,它看起来非常不同,尽管不太常见。