java - 无法获取URL中的中文字符

标签 java forms jsp utf-8 cjk

我有这个网址:http://localhost:8080/Test/jsp/index.jsp?userName=%E5%AE%98%E8%AF%9D。但是当我尝试获取 userName 时:

<meta http-equiv="test" content="text/html; charset=UTF-8">
  <%
    String username = request.getParameter("userName");
    out.print("<b>"+username+"</b>");    
  %>

打印的userName不可读。我的页面已经是UTF-8,并且保存为UTF-8,如何获取并打印准确的汉字?

最佳答案

您应该对 URL 进行编码(这是 Python,使用等效的 Java 方法):

>>> urllib.urlencode({'userName':'官话'})
'userName=%E5%AE%98%E8%AF%9D'

关于java - 无法获取URL中的中文字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10223415/

相关文章:

java - 使用正则表达式在字符串中搜索子字符串

java - java中ajax无法从数据库获取数据

javascript - React 中如何区分不同的表单输入?

html - 去除输入框自动完成的方法

java - 在 Spring boot 应用程序中传递常量消息的正确方法(messages.properties 或 Constant 类)

Java swing 边框和 Boxlayout

javascript - 使用 javascript 填充动态表单

java - 使用 jSTL foreach 标签检查单选按钮

java - 将用户名和密码从 JSF 或 JSP 传递到 Oracle Reports

java - 如何在 Struts 2 中将两个 boolean 值与 OGNL 连接起来?