识别编码类型
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() 不工作
谢谢!
Hrmm that looks like url-encoding and comparing the input and expected output it's a single-byte encoding, and it's definietely not ASCII,
*google "hebrew encoding"*
Ahh, 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>
输出:
בני ברק, גבעתיים, חוות שלם, רמת גן, תל אביב יפו (אזעקה חלקית), זיקים,
כרמיה
The quick brown fox jumped over the lazy dog
现在您只需要确保您页面上的所有内容 都是 UTF-8,但至少几乎所有内容都应该 "play nicely" 彼此相符。或多或少。大多数时候...
有趣的事实:您可能 运行 进入的另一种 8 位希伯来语编码是 ISO/IEC 8859-8,它看起来很不一样,但不太常见。
我有这个编码字符串:
%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() 不工作
谢谢!
Hrmm that looks like url-encoding and comparing the input and expected output it's a single-byte encoding, and it's definietely not ASCII,
*google "hebrew encoding"*
Ahh, 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>
输出:
בני ברק, גבעתיים, חוות שלם, רמת גן, תל אביב יפו (אזעקה חלקית), זיקים, כרמיה
The quick brown fox jumped over the lazy dog
现在您只需要确保您页面上的所有内容 都是 UTF-8,但至少几乎所有内容都应该 "play nicely" 彼此相符。或多或少。大多数时候...
有趣的事实:您可能 运行 进入的另一种 8 位希伯来语编码是 ISO/IEC 8859-8,它看起来很不一样,但不太常见。