Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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
如何在PHP中从unicode编码到GB18030?_Php_Unicode - Fatal编程技术网

如何在PHP中从unicode编码到GB18030?

如何在PHP中从unicode编码到GB18030?,php,unicode,Php,Unicode,我知道如何在Python中执行此操作: In [1]: u'中华人民共和国'.encode('GB18030').encode('base64') Out[1]: '1tC7qsjLw/G5srrNufo=\n' 但是我需要在PHP中执行此操作,我不知道如何执行。您可以使用将字符串从UTF-8(或任何初始编码)转换为GB18030,然后再转换结果。例如: echo base64_encode(iconv('UTF-8', 'GB18030', '中华人民共和国')); 产出: 1tC7qsj

我知道如何在Python中执行此操作:

In [1]: u'中华人民共和国'.encode('GB18030').encode('base64')
Out[1]: '1tC7qsjLw/G5srrNufo=\n'
但是我需要在PHP中执行此操作,我不知道如何执行。

您可以使用将字符串从UTF-8(或任何初始编码)转换为GB18030,然后再转换结果。例如:

echo base64_encode(iconv('UTF-8', 'GB18030', '中华人民共和国'));
产出:

1tC7qsjLw/G5srrNufo=

请注意,PHP没有原生Unicode字符串——它们只是一堆字节,因此需要指定字符串的编码。如果它是PHP中的字符串文字,那么它将是您对文件使用的任何编码

echo mb_convert_encoding($str, "gb18030", "UTF-8");
将UTF-8替换为文本已经使用的任何编码。或者第三个参数是可选的,即使没有它也可以工作

请注意,Unicode不是(二进制)字符编码。