相关疑难解决方法(0)

UTF-8 URL解码/编码

我指示我的URL发送类似的Ajax请求:

url += '/' + something + '/' + id;
var response;
$.ajax({
    async : false,
    type: 'DELETE',
    url: url,
 ...
Run Code Online (Sandbox Code Playgroud)

removeId是一个包含UTF-8字符的变量.我将在Java端处理该变量:

@RequestMapping(value = "/something/{id}", method = RequestMethod.DELETE)
    public void myMethod(HttpServletResponse response, @PathVariable String id) {
    ...
Run Code Online (Sandbox Code Playgroud)

然而id,Java端的变量与原始变量不同,因为UTF-8字符变为奇怪的东西.

如何从JavaScript端发送UTF-8字符并在我的Java端再次转换它(Spring 3 with REST,我的Web服务器是Tomcat 7)?

PS 1:即使我不使用encodeUriComponent它似乎我的URL本身编码?

PS 2:提出更清楚的问题:

i.e. my id variable is araç and sent URL is: localhost:8080/sdfasf/ara%C3%A7 
Run Code Online (Sandbox Code Playgroud)

当我看到id变量具有该值时:

araç
Run Code Online (Sandbox Code Playgroud)

代替:

ara%C3%A7 
Run Code Online (Sandbox Code Playgroud)

Spring(或Tomcat)会自动执行此操作吗?当控制器作为路径变量时,有没有办法自动解码它(我的意思是没有写任何东西:

URLDecoder.decode(id,"UTF-8");
Run Code Online (Sandbox Code Playgroud)

它会自动转换)

java jquery spring tomcat utf-8

14
推荐指数
1
解决办法
3万
查看次数

如何将Unicode字符作为JSP/Servlet request.getParameter传递?

经过大量的反复试验,我仍然无法弄清楚问题.JSP,servlet和数据库都被设置为接受UTF-8编码,但即使我在任何具有任何双字节字符的东西上使用request.getParameter,如em dash,它们也会被破坏为字符.

我已经手动提交数据库,它能够接受这些字符,没问题.如果我从servlet中的数据库中提取文本并将其打印在我的jsp页面的表单中,则显示没有问题.

唯一一次,当我尝试在使用request.getParameter检索它之后尝试将其显示在其他地方时,它发现它作为已损坏的字符返回.

有没有其他人有这个问题?我该如何解决?

unicode jsp servlets character-encoding mojibake

14
推荐指数
1
解决办法
8126
查看次数

标签 统计

character-encoding ×1

java ×1

jquery ×1

jsp ×1

mojibake ×1

servlets ×1

spring ×1

tomcat ×1

unicode ×1

utf-8 ×1