<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="java.net.URLDecoder"%>
<%@page import="java.net.URLEncoder"%>
<html>
<form action="index.jsp">
<body>
First INPUT:
<input name="firstinput" type="text" name="fname">
<br>
<input type="submit" value="Submit">
<%
String first = request.getParameter("firstinput");
String Searchtext=URLDecoder.decode(first,"UTF-8");
out.println(Searchtext);
out.println(URLEncoder.encode(Searchtext,"UTF-8"));
%>
</body>
</form>
</html>
这是我的代码,我想在JSP中编码和解码文本。实际上,我想在输入文本““、”“、//......任何特殊的章程时,它应该打印相同的文本,如如果输入“hello”或hello,那么它应该打印hello,或者如果输入“hello”,那么它也应该打印hello......特殊的章程不应该显示,请帮助我,我无法做到这一点......
2条答案
按热度按时间brccelvz1#
我觉得你需要这个:
对我来说,它工作得很好:
输出量:
你好你好
lyfkaqu12#
您使用的不是完整的Unicode,而是Latin-1、ISO-8859-1。此Latin-1将被浏览器解释为MS Windows Latin-1或“Cp-1252”/“Windows-1252”。此字符集包含一些特殊字符,如逗号(如引号)、€(欧元)等。
URL编码/解码是自动完成的。输入的数据输入可能会导致数字HTML实体到达服务器,例如
Ӓ
,当它具有像Latin-1这样的受限字符集时。对于整个Unicode字符,您需要添加UTF-8到<form accept-charset="UTF8">
以防止被数字实体替换。HTML 5表单:
它撒谎说它的字符集是有限的ISO-8859-1,但是java提供了更大的字符集Windows-1252。
标签
<form>
必须在<body>
的内部。如果您对表单边界等进行了此操作,请使用CSS样式。