java - java Controller 中无法正确识别特殊/重音字符?

标签 java json ajax string utf-8

我正在将 ajax 调用中的字符串化 json 发送到 java Controller 。 我的 Controller 看起来像 public TxnStatus setGlobalizationKeyChanges(@PathVariable String locale,@RequestBody String stringyfiedMap) throws Exception { } 但当我打印或使用 stringyfiedMap 时,一些特殊/重音字符看起来并不相同。

我知道发生这种情况是因为我正在捕获 java.lang.String 中的数据,它失去了原始重音字符的含义。那么如何在发送数据时处理数据并正常执行操作呢?

最佳答案

所有主要 Tomcat 版本中都引入了此行为:

  • 7.0.76、8.0.42、8.5.12

    您可以定义属性 requestTargetAllow 以允许禁止的字符。 在您的 catalina.properties 中添加此行

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

关于java - java Controller 中无法正确识别特殊/重音字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46424812/

相关文章:

java - 线程执行期间绘制的额外虚拟组件

javascript - 如何使用嵌套 JSON 对象构建 JSON 对象

javascript - 使用适配器和序列化器通过版本 2 WP REST API 将 Ember 2.3 应用程序连接到 WordPress 后端

asp.net-mvc - 如何保护对返回 JSON 的 MVC 操作的访问

javascript - 使 JQuery AJAX 运行返回的脚本

java - 扫描二维 boolean 数组以找到最接近的真实坐标

java - ImageIO 写入方法 - javax imageio IIOException 无法创建输出流

java - android 中的数组越界异常

ios - 将 "Get"请求数据分配给文本字段

java - 在 java 中将 json 数据从 Ajax 发送到 Servlet?