<a href="">中的乱码

本文介绍了在JSP开发过程中遇到的各种中文乱码问题及其解决方案,包括页面显示、表单提交、URL参数等不同场景下的乱码处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,图片改为英文名
二,对图片的路径名进行处理,假设图片路径名为String imgRoot=new String(imgRoot.getBytes("ISO-8859-1"),"GB2312") 或者 url =java.net.URLEncoder.encode(imgpath,"UTF-8");
你可能还不知道jsp在在传递中文时候会出现乱码 所以说你的图片路径在传递后的路径系统识别不出来了
所以你要么改成英文的,要么解决中文乱码的问题 怎么解决呢?
 这有篇文章,你看看,我试过,可以成功 关于JSP中文乱码 JSP文件中乱码现象经常遇到,那如何处理就是我们不可避免的话题,那么该如何解决呢,
下面我针对不同的情况,给出几种处理方式:
1) JSP页面中文乱码,这种情况比较好处理,在页面的page指令中加上如下一项就行
2) JSP页面采用表单提交时,提交的数据中包含中文,并且提交方式为post这时我们获取表单数据后,展示到其它页面时会出现乱码,解决方案是在获取请求中的参数前,先设置请求的字符集。如下代码: request.setCharacterEncoding(“UTF-8”) ;
3) 还是表单提交数据,但是提交方式为默认的get方式,这时即使我们设置了请求字符集,但取出来还是乱码,这时需要如下的转换方式,我把转换方式用一个编码转换类来实现了。
/* * 定义一个转换字符集的工具类CharSetTool * * 定义一个方法,用来转换 */
public class CharSetTool {
/* * 方法toUTF8() * 参数: @inStr 传入要转换的字符串 */
public static String toUTF8(String inStr) {
String rtStr="";
if(inStr!=null) {
try {
 rtStr=new String(inStr.getBytes("ISO-8859-1"),"UTF-8"); }
 
catch (UnsupportedEncodingException e) {
//打印错误信息 System.out.println(e.getMessage());
}
} return rtStr;
 }
}
4) URL中文参数乱码处理, 比如:超链接方式 <a href="next?str=">我是链接,单击可以提交参数
 注:next 为 Servlet的URL Pattern 那在将中文作为参数值传递时,首先要把中文字符串进行编码转换,转换成URL格式
操作如下: <a href="next?str=">我是链接,单击可以提交参数 综合以上几种比较常见的JSP中文乱码的处理方式,不管是何种提交方式,我们都可以使用JSP中的过滤器(Filter)来过滤字符编码,下面我就给出一个我自己定义的 “通用”的字集编码过滤器。
 /** * 处理中文字符集的过滤器 * * @author Administrator * */
public class EncodingFilter implements Filter {
//过滤器销毁的方法 public void destroy() {
} public void doFilter(ServletRequest request, ServletResponse response,FilterChain chan) throws IOException, ServletException {
 //设置响应模式 response.setContentType("text/html;charset=UTF-8");
 //判断客户端的提交方式
 if(((HttpServletRequest)request).getMethod().equalsIgnoreCase("POST")) {
//POST方式提交
//设置请求字符集 request.setCharacterEncoding("UTF-8");
} else {
//处理GET //获取所有的提交参数
Enumeration names = request.getParameterNames(); //遍历
while(names.hasMoreElements()) { //参数名
String name = (String)names.nextElement(); //因为不知道参数是多值还是单值
String values[] = request.getParameterValues(name); //循环处理字符集转换
for(int i=0;i<values.length;i++) {
values[i] = toUTF8(values[i]); }
 }
} //调用过滤器链中的下一个过滤器
chan.doFilter(request, response);
} //转换方法(内部私有方法)
private String toUTF8(String str) {
String rt = null; try { if(str!=null) {
//转换新字符集 rt = new String(str.getBytes("ISO-8859-1"),"UTF-8"); }
} catch (UnsupportedEncodingException e) {
// TODO 自动生成 catch 块 e.printStackTrace(); }
 return rt; } //初始化方法
 public void init(FilterConfig config) throws ServletException {
 } }
然后在web.xml文件中进行相关的配置 : EncodingFilter ocean.mvc.filter.EncodingFilter EncodingFilter /*
还有就是在tomcat里配置编码URIEncoding为UTF-8格式的
``` <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.sql.*"%> <table border="1"> <tr> <th>身份证号</th><th>密码</th><th>姓名</th><th>性别</th><th>单位</th> <th>电话</th><th>单位地址</th><th>邮箱</th><th>报考类别</th><th>备注</th><th>操作</th> </tr> <tr> <td>身份证号</td><td>密码</td><td>姓名</td><td>性别</td><td>单位</td> <td>电话</td><td>单位地址</td><td>邮箱</td><td>报考类别</td><td>备注</td><td><a href="">修改</a>|<a href="">删除</a></td> </tr> <% try{ Class.forName("com.mysql.jdbc.Driver"); }catch (ClassNotFoundException e){ out.println("数据加载失败:"+e.toString()); } Connection con=null; PreparedStatement pstmt=null; ResultSet rs =null; try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306/bmdb?useSSL=false","root","123456"); //2、创建数据库的访问连接 pstmt=con.prepareStatement("select * from dm");//3、获取sql执行对象 rs=pstmt.executeQuery();//5、执行sql获得结果集 while(rs.next()){//6、根据查询结果判断是否登陆成功 %> <tr> <td>身份证号</td><td>密码</td><td>姓名</td><td>性别</td><td>单位</td> <td>电话</td><td>单位地址</td><td>邮箱</td><td>报考类别</td><td>备注</td><td><a href="">修改</a>|<a href="">删除</a></td> </tr> <% }catch (SQLException e){ out.println("SQL异常:"+e.toString()); }finally { rs.close(); pstmt.close(); con.close(); } %> </table>```修改图中的信息,改为正确的代码
03-29
入表单、框架和表格等等,并可将之存为文本文件,浏览器即可读取和显示。HTML 指的是超文本标记语言: HyperText Markup LanguageHTML 不是一种编程语言,而是一种标记语言标记语言是一套标记标签 (markup tag)HTML 使用标记标签来描述网页HTML 文档包含了HTML 标签及文本内容HTML文档也叫做 web 页面2 入门实例新建一个test.html文件,内容如下<!DOCTYPE html><html><head><meta charset="utf-8"><title>ZONGXP</title></head><body> <h1>我的第一个标题</h1><p>我的第一个段落。</p> </body></html>其中:<!DOCTYPE html> 声明为 HTML5 文档<html> 元素是 HTML 页面的根元素<head> 元素包含了文档的元(meta)数据,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8(由于在大部分浏览器中直接输出中文会出现乱码,所以要在头部将字符声明为UTF-8)<title> 元素描述了文档的标题<body> 元素包含了可见的页面内容<h1> 元素定义一个大标题<p> 元素定义一个段落保存后运行,即可在浏览器中打开如下界面3 各部分详解3.1 标题HTML 标题(Heading)是通过<h1> - <h6> 标签来定义的.<!DOCTYPE html><html><head><meta charset="utf-8"><title>ZONGXP</title></head><body> <h1>这是标题 1</h1><h2>这是标题 2</h2><h3>这是标题 3</h3><h4>这是标题 4</h4><h5>这是标题 5</h5><h6>这是标题 6</h6> </body></html>3.2 段落HTML 段落是通过标签 <p> 来定义的<!DOCTYPE html><html><head><meta charset="utf-8"><title>ZONGXP</title></head><body> <p>这是一个段落。</p><p>这是一个段落。</p><p>这是一个段落。</p> </body></html>3.3 链接HTML 链接是通过标签 <a> 来定义的<!DOCTYPE html><html><head><meta charset="utf-8"><title>ZONGXP</title></head><body> <a href="https://blog.youkuaiyun.com/zong596568821xp">这是一个链接使用了 href 属性</a> </body></html>3.4 图像HTML 图像是通过标签 <img> 来定义的。注意: 图像的名称和尺寸是以属性的形式提供的。<!DOCTYPE html><html><head><meta charset="utf-8"><title>ZONGXP</title></head><body> <img src="zongxp.jpg" width="640" height="640" /> </body></html>3.5 表格表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。表格的表头使用 <th> 标签进行定义。如果不定义边框属性,表格将不显示边框。有时这很有用,但是大多数时候,我们希望显示边框。使用边框属性来显示一个带有边框的表格:<table border="1"> <tr> <th>Header 1</th> <th>Header 2</th> </tr> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr></table>4 速查列表4.1 基本文档<!DOCTYPE html><html><head><title>文档标题</title></head><body>可见文本...</body></html>4.2 基本标签<h1>最大的标题</h1><h2> . . . </h2><h3> . . . </h3><h4> . . . </h4><h5> . . . </h5><h6>最小的标题</h6> <p>这是一个段落。</p><br> (换行)<hr> (水平线)<!-- 这是注释 -->4.3 文本格式化
04-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值