扫码关注官方订阅号
认证高级PHP讲师
如果是网址的话可以使用URLEncoder/URLDecoder类
如果你是客户端: 你从服务端拿到的字符串是 utf-8 编码,你需要显示的话,先将把字符串按照 utf-8 解码成字节码,然后再按照 GBK编码。 你发送给服务端的字符串也得是 utf-8 编码, 你需要将你的GBK编码的字符串,解码成字节码,然后再按照 utf-8 编码。 反之亦然。 之所以你看到的是乱码,可能是你的终端的编码问题?
String gbkStr = new String(utf8Str.getBytes("utf-8"),"gbk"); String utf8Str = new String(gbkStr.getBytes("gbk"),"utf-8");
可以通过iso8859-1编码作为中间字符串,如果gbk直接转utf–8时,即2字节转3字节。若是奇数个汉字,最后一个字节转换时会计算错误输出?,还是会乱码。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如果是网址的话可以使用URLEncoder/URLDecoder类
如果你是客户端:
你从服务端拿到的字符串是 utf-8 编码,你需要显示的话,先将把字符串按照 utf-8 解码成字节码,然后再按照 GBK编码。
你发送给服务端的字符串也得是 utf-8 编码, 你需要将你的GBK编码的字符串,解码成字节码,然后再按照 utf-8 编码。
反之亦然。
之所以你看到的是乱码,可能是你的终端的编码问题?
可以通过iso8859-1编码作为中间字符串,如果gbk直接转utf–8时,即2字节转3字节。若是奇数个汉字,最后一个字节转换时会计算错误输出?,还是会乱码。