【发布时间】:2016-04-23 17:58:10
【问题描述】:
我最近遇到了一些关于字符编码的问题。 当我尝试触发 HTTP GET 请求时,该请求在查询字符串中包含一些非 ascii 字符,我发现服务器无法正确解码参数。
我目前的解决方案是配置tomcat的server.xml,在<Connector>元素中添加属性URIEncoding="utf-8"。
好吧,它解决了问题。但我的问题是:如果 URL 没有用 utf-8 编码怎么办?(就像一些 ANSI 编码一样,你可以这样做,对吗?)
除了设置一个固定值之外,服务器有没有办法弄清楚 URL 使用的是什么编码?
PS:我知道一些字符编码的基础知识以及 UTF-8 和 Unicode 之间的区别。
【问题讨论】:
-
This SO question 处理该问题。标准要求 url 以 8859-1 表示 - 但是,将百分比编码应用于 utf-8 八位字节序列,这不是限制。共识似乎是要走的路。
标签: http unicode encoding utf-8