程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在HTTP标头中发送UTF-8值会导致Mojibake大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在HTTP标头中发送UTF-8值会导致Mojibake?

开发过程中遇到在HTTP标头中发送UTF-8值会导致Mojibake的问题如何解决?下面主要结合日常开发的经验,给出你关于在HTTP标头中发送UTF-8值会导致Mojibake的解决方法建议,希望对你解决在HTTP标头中发送UTF-8值会导致Mojibake有所启发或帮助;

http标头不支持UTF-8。他们仅正式支持ISO-8859-1。另请参阅RFC 2616第2节:

最好的选择是对它们进行URL编码和解码。

response.setheader("Info", URLEncoder.encode(arabicWord, "UTF-8"));

String arabicWord = URLDecoder.decode(response.getheader("Info"), "UTF-8");

URL编码会将它们转换为完全有效的ISO-8859-1 %nn格式。请注意,标头中发送的数据可能有大小限制。而是以纯文本,JsON,CSV或XML格式在响应正文中发送。以这种方式使用自定义http标头即是设计气味。

解决方法

我想从servlet使用阿拉伯数据发送HTTPServletResponse到客户端

我正在尝试这个

response.setCharacterEncoding("UTF-8");
response.setHeader("Info",arabicWord);

我收到这样的词

String arabicWord = response.getHeader("Info");

在客户端(接收)也尝试了这个

byte[]d = response.getHeader("Info").getBytes("UTF-8");
arabicWord = new String(d);

但是似乎没有unicode,因为我收到奇怪的英语单词,所以请问我如何发送和接收阿拉伯utf8单词?

大佬总结

以上是大佬教程为你收集整理的在HTTP标头中发送UTF-8值会导致Mojibake全部内容,希望文章能够帮你解决在HTTP标头中发送UTF-8值会导致Mojibake所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: