当前位置: 首页 > 知识库问答 >
问题:

UTF-8错误请求

施德运
2023-03-14

我有一个字符串与字符"á"(西班牙语),我有一些问题与API的请求。

这样我得到了400错误的坏请求

String address = "Ángel Marsa I Becá è";
String encoded = new String(address.getBytes("UTF-8"));
System.out.println(encoded);//�ngel Marsa I Becá è

用另一种方式编码,用ISO-8859-1和UTF-8,我没有得到坏请求400错误。

byte ptext[] = address.getBytes("ISO-8859-1"); 
String value = new String(ptext, "UTF-8");
System.out.println(value);//?ngel Marsa I Bec? ?

这种方式编码UTF8正确吗?

这是编码到UTF-8的最佳方式,特别是带重音或带"ñ"的字符串。

谢谢

共有2个答案

居京
2023-03-14

我在内容类型中缺少参数charset=utf-8。

杜俭
2023-03-14

您可以使用java.net.URLEncoder传递URL中不可接受的字符串。

String s = "Ángel Marsa I Becá è";
String e = URLEncoder.encode(s, "UTF-8");
System.out.println(e);

这看起来像是安吉尔·马萨·贝卡Á

一旦你通过网络获得它,你总是可以用UrlD恢复原始文本ecoder.decode.

 类似资料:
  • 我的rails应用程序遇到了问题,我最近从一个不同的开发人员那里接管了这个应用程序。虽然我知道错误意味着什么,我知道我需要强制所有的UTF-8,但没有运气。我已经尝试清理应用程序目录,并将所有文件更新为UTF-8(以前在不同的应用程序上工作过)。 我还阅读了关于ruby的UTF-8问题的不同帖子(例如这里和这里)。 当我运行或任何其他bundle操作时,我会得到以下信息: 还有以下绑定程序的其他错

  • null 在一个案例中,我还意识到,如果我从Git diff复制原始值,并用它替换Eclipse中错误的值,那么我在消息属性文件中就有了正确的umlauts。

  • 我正在使用JMeter将JSON作为主体发送一个post请求。 当我使用Postman执行相同的请求时,我得到了成功的响应。 但使用JMeter时,我得到的是“JSON解析错误:无效的UTF-8起始字节0xB0”。 基于被问到的类似问题,它似乎-(连字符)造成了问题,但不是100%确定这一点。 这些是我尝试的头的组合: 内容类型:Application/JSON;Charset=UTF-8 Con

  • 在解析JSON请求体时获取以下异常, 请求正文有一个特殊字符“®”(非UTF-8),解析时失败。如何在请求正文中处理这个非UTF-8字符? 我想保存具有特殊字符的对象。我试着研究,但没有找到一个合适的解决方案。提前谢谢。

  • 嗨,我试图使我在UTF-8兼容的应用程序之一。我的环境如下:linux操作系统,apahce网络服务器作为超文本传输协议监听器,tomcat作为servlet引擎 配置了mod_jk和tomcat的apache s使用ajp连接器。 我已经从少数网站上阅读了UTF-8的基本指南,并根据建议尝试了以下方法 为服务器中的连接器设置和。xml 设置语言bashrc/. file使用 将apache服务器

  • 一个处理UTF-8编码字符串的简单、小巧、跨平台的泛型库。