Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP和JS中是否有统一的方法来转换unicode字符?_Javascript_Php_Encoding - Fatal编程技术网

Javascript PHP和JS中是否有统一的方法来转换unicode字符?

Javascript PHP和JS中是否有统一的方法来转换unicode字符?,javascript,php,encoding,Javascript,Php,Encoding,PHP和JS中是否都有统一的方法来转换unicode字符,这样在编码unicode字符串后,两端的结果都是相同的 两端是否有共享相同机制的编码/解码技术 我一直在尝试使用PHP的bin2hex()和hex2bin(),以及JS中相应的手动函数,但它不适用于unicode字符?是的,它被称为utf-8。如果您将所有文档编码为utf-8,并将所有数据存储为utf-8,则应该处于清除状态。问题是php默认要求字符串为拉丁文1,因此需要更改一些内容(如发送内容类型标题等)是的,它被称为utf-8。如果您

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

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


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

是的,它被称为utf-8。如果您将所有文档编码为utf-8,并将所有数据存储为utf-8,则应该处于清除状态。问题是php默认要求字符串为拉丁文1,因此需要更改一些内容(如发送
内容类型
标题等)

是的,它被称为utf-8。如果您将所有文档编码为utf-8,并将所有数据存储为utf-8,则应该处于清除状态。问题是,php默认要求字符串为拉丁文1,因此您需要更改一些内容(如发送
内容类型
标题等)。

这是一种黑客行为,但它是有效的

PHP

rawurlencode($theString)
JS

decodeURIComponent(theString)

这是一个黑客,但它的工作

PHP

rawurlencode($theString)
JS

decodeURIComponent(theString)

我提到这个问题:

以下功能帮助了我:

fixed_string = decodeURIComponent(escape(utf_string));

utf_string = unescape(encodeURIComponent(original_string));

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

我提到了这个问题:

以下功能帮助了我:

fixed_string = decodeURIComponent(escape(utf_string));

utf_string = unescape(encodeURIComponent(original_string));


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

您可以使用base64对任何二进制/文本数据进行编码/解码。它应该保留每一点。不管怎样,你能解释一下你的实际问题吗?为什么不能发送包含编码元数据的文本数据?您还可以在发送之前将任何编码转换为UTF-8。我尝试使用base64 JS库,因为base64没有JS函数。但是,我不知道为什么PHP中为同一字符串生成的编码值与通过JS库生成的编码值不同。所以,我需要不同的sthg。这里解释了我的实际问题:“将Unicode字符转换为什么?”?出于什么目的?@deceze:实际上我想在发送这些unicode字符进行进一步加密之前对其进行编码,因为加密/解密过程将在PHP端和JS端进行,我要求提供unicode字符的编码/解码技术,因为我在直接输入unicode字符时遇到了太多问题。@Bergi:您可以在网站上找到它,您可以使用base64对任何二进制/文本数据进行编码/解码。它应该保留每一点。不管怎样,你能解释一下你的实际问题吗?为什么不能发送包含编码元数据的文本数据?您还可以在发送之前将任何编码转换为UTF-8。我尝试使用base64 JS库,因为base64没有JS函数。但是,我不知道为什么PHP中为同一字符串生成的编码值与通过JS库生成的编码值不同。所以,我需要不同的sthg。这里解释了我的实际问题:“将Unicode字符转换为什么?”?出于什么目的?@deceze:实际上我想在发送这些unicode字符进行进一步加密之前对其进行编码,因为加密/解密过程将在PHP端和JS端进行,我在询问unicode字符的编码/解码技术,因为我在直接输入unicode字符时遇到了太多问题。@Bergi:你可以在上找到这一点,实际上,我不是在处理文档,目前,我只是想编码字符串。文档是大字符串。实际上,我不清楚你解释了什么。如果你说的是我的文件编码类型,它已经在utf-8上了。实际上,我没有处理文档,现在,我只想编码字符串。文档是大字符串。实际上,我不清楚你解释了什么。如果你说的是我的文件编码类型,它已经在utf-8上了,实际上我认为它不适用于二进制数据。我不知道它是否被称为二进制数据,我的意思是说mcrypt加密的返回值。它包括不同的符号和符号,不受支持的字符。我从未尝试过使用二进制数据,但它可以很好地使用UTF8字符串。实际上,我认为它不适用于二进制数据。我不知道它是否被称为二进制数据,我的意思是说mcrypt加密的返回值。它包括不同的符号和符号,不受支持的字符。我从未尝试过使用二进制数据,但它可以很好地使用UTF8字符串