Heim > Backend-Entwicklung > PHP-Tutorial > base64_encode加密中文字符使用java乱码怎么办

base64_encode加密中文字符使用java乱码怎么办

PHPz
Freigeben: 2020-09-04 13:50:16
Original
1736 Leute haben es durchsucht

base64_encode加密中文字符使用java乱码怎么办

base64_encode加密中文字符使用java乱码的解决办法:

问题:

Example: “蘋果君华”几个字。

一开始使用的是php urlencode,然后java urldecode,“蘋”字亂碼。

后改用PHP base64_encode,再使用java decode(使用的org.apache.commons.codec.binary.Base64包),"蘋"字OK了,但“君华”倆字亂碼了。

search說是java使用的是非標準的base64解碼,so...求破。

解决方法:

会乱码的原因是你的编码不一致导致的

php中的urlencode的编码是和系统编码一致的(比如windows默认gb2312,ubuntu默认utf-8)

所以首先需要确定你的系统编码,之后根据得到的系统编码在调用java的decode方法的时候,将这个编码传入(考虑到你的例子中有繁体字,所以,建议你使用utf-8编码),以下是我使用utf-8编码的例子(php环境是ubuntun下)

<?php
    echo urlencode("蘋果君华");
?>
output: %E8%98%8B%E6%9E%9C%E5%90%9B%E5%8D%8E
        String ret = java.net.URLDecoder.decode("%E8%98%8B%E6%9E%9C%E5%90%9B%E5%8D%8E", "utf-8");
        System.out.println(ret);
output: 蘋果君华
Nach dem Login kopieren

更多相关技术文章,请访问PHP中文网

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage