如何在JS和PHP之间传递UTF-8编码的字符串
How to pass the UTF-8 encoded strings between JS and PHP?
序言:
我发现Javascript和PHP对UTF-8多字节字符代码有不同的处理方法:-PHP将多字节字符视为几个分隔的字节;JS将多字节字符视为单个整数(大于255(-PHP保留代码中的所有辅助位;JS剥离了所有这些位。
因此,俄语字母"А"的代码将是
-
PHP 中的208和144
JS 中的1040
问题描述
我需要在客户端浏览器中用JS将一个字符串公开给一些编码例程,然后在服务器端用PHP解码一个字符串。为了对字符串进行编码和解码,我使用了JS字符串属性charCodeAt
和PHP函数chr()
。正如我上面提到的,这种方法不起作用,因为PHP和JS中的代码不同。
问题
PHP中是否有从UTF-8字节序列中去除辅助位的函数或者Javascript中是否有将这些辅助位添加到字符代码中的函数?
使用mb_*函数,否则会拆分字节。每个带有ord
的字节
<?php
$the_char = 'А';
$byte_1 = $the_char[0];
$byte_2 = $the_char[1];
print (ord($byte_1) - 192) * 64 + (ord($byte_2) - 128);
?>
与Javascript 相同
相关文章:
- 可以't导入更少的UTF-8 BOM编码的文件
- 使用javascript中的UTF-8编码生成友好的url
- JavaScript 强制使用 UTF-8 编码
- angular.js $http.了解如何强制使用 UTF-8 编码
- JavaScript utf-8 编码问题
- 如何使用 PHP 将 utf-8 编码的 json 保存到.txt文件中
- 让JettyRunner使用UTF-8编码提供静态内容(如CSS和JavaScript)
- 通过js API消息发布BASE64图像和消息不是UTF-8编码的
- JavaScript到c# UTF-8编码问题
- AngularJS的ng-view不会向嵌套页面传递utf-8编码
- sencha Cmd中sencha应用程序构建后丢失UTF-8编码
- 如何在express中处理非UTF-8编码的url
- nodejs UTF-8编码字符串有黑色问号
- 可以在页面标题中使用UTF-8编码字符吗?
- 将UTF-8编码的JSON从DB解析为JS
- 如何使用UTF-8编码数据执行融合表请求
- Ajax:强制utf-8编码
- 我们可以用javascript将ANSI编码的CSV文件转换为utf-8编码的文件
- 如何在JS和PHP之间传递UTF-8编码的字符串
- Javascript FileReader readAsText函数不理解utf-8编码字符,如ä和& # 2