【发布时间】:2014-04-29 20:48:32
【问题描述】:
序言:
我发现Javascript and PHP has different approach to UTF-8 multibyte character codes: - PHP 将多字节字符视为几个单独的字节; JS 将多字节字符视为单个整数(大于 255) - PHP 保留代码中的所有辅助位; JS 剥离了所有这些位。
所以俄罗斯字母“А”的代码将是
-
PHP 中的 208 和 144
JS 中的 1040
问题描述
我需要在客户端浏览器的 JS 中将字符串公开给某个编码例程,然后在服务器端的 PHP 中解码。为了对字符串进行编码和解码,我使用了 JS 字符串属性 charCodeAt 和 PHP 函数 chr()。正如我上面提到的,这种方法不起作用,因为 PHP 和 JS 中的代码不同。
问题
PHP 中是否有任何函数可以从 UTF-8 字节序列中去除辅助位或 Javascript 中是否有任何函数可以将这些辅助位添加到字符代码中?
【问题讨论】:
-
@AdrianPreuss 它不是重复的!这是我之前问题的延伸。请深入阅读我的新问题。
标签: javascript php utf-8 character-encoding