Home > Backend Development > PHP Tutorial > base64_encode加密中文字符使用java乱码怎么办

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

PHPz
Release: 2020-09-04 13:50:16
Original
1737 people have browsed it

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: 蘋果君华
Copy after login

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template