1

PHP和JS中是否有统一的方法来转换unicode字符,所以在编码unicode字符串后两端的结果是一样的?

两端是否有任何编码/解码技术共享相同的机制?

我一直在尝试使用 PHP 的 bin2hex() 和 hex2bin() 以及 JS 中相同的相应手动函数,但它不适用于 unicode 字符?

4

3 回答 3

2

是的,它被称为 utf-8。如果您将所有文档编码为 utf-8 并将所有数据存储为 utf-8,那么您应该清楚。问题是,默认情况下,php 期望字符串为 latin1,因此您需要更改一些内容(例如发送Content-Type标头等)

于 2013-09-17T10:28:08.857 回答
2

我提到了这个问题:

如何使用 javascript 将特殊的 UTF-8 字符转换为等效的 iso-8859-1?

以下功能帮助了我:

fixed_string = decodeURIComponent(escape(utf_string));

utf_string = unescape(encodeURIComponent(original_string));

用于编码和解码查询字符串的 escape 和 unescape 函数是为 ISO 字符定义的,而更新的 encodeURIComponent 和 decodeURIComponent 是为 UTF-8 字符定义的。

于 2013-09-18T04:38:48.010 回答
0

这是一个 hack,但它有效。

PHP

rawurlencode($theString)

JS

decodeURIComponent(theString)
于 2013-09-18T03:45:37.803 回答