问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JSP 中传递中文的问题

发布网友 发布时间:2023-07-03 20:55

我来回答

4个回答

热心网友 时间:2023-09-13 16:01

你好啊 ,你学jsp是吧!
你可能还不知道jsp在在传递中文时候会出现乱码

所以说你的图片路径在传递后的路径系统识别不出来了

所以你要么改成英文的,要么解决中文乱码的问题

怎么解决呢?

这有篇文章,你看看,我试过,可以成功

关于JSP中文乱码

JSP文件中乱码现象经常遇到,那如何处理就是我们不可避免的话题,那么该如何解决呢,下面我针对不同的情况,给出几种处理方式:

1) JSP页面中文乱码,这种情况比较好处理,在页面的page指令中加上如下一项就行
<%@ page contentType=”text/html;charset=UTF-8” %>

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中文参数乱码处理,
比如:超链接方式
<%
String str="我是中国人";
%>
<a href="next?str=<%=str%>">我是链接,单击可以提交参数</a>
注:next 为 Servlet的URL Pattern
那在将中文作为参数值传递时,首先要把中文字符串进行编码转换,转换成URL格式
操作如下:
<%
String str="我是中国人";
//使用URLEncoder.encode方法
str = URLEncoder.encode(str,"UTF-8");
%>
<a href="next?str=<%=str%>">我是链接,单击可以提交参数</a>

综合以上几种比较常见的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文件中进行相关的配置 :

<!-- 配置过滤器 -->
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>ocean.mvc.filter.EncodingFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern> <!-- 匹配所有的请求 -->
</filter-mapping>

热心网友 时间:2023-09-13 16:01

有两种方法:
一,图片改为英文名
二,对图片的路径名进行处理,假设图片路径名为String imgRoot=new String(imgRoot.getBytes("ISO-8859-1"),"GB2312");

热心网友 时间:2023-09-13 16:02

把图片名改为英文名.

热心网友 时间:2023-09-13 16:03

url =java.net.URLEncoder.encode(imgpath,"UTF-8");

这样做就可以了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
孩子依赖性太强,妈妈怎么办?目录 孩子对妈妈依赖性太强怎么办 介绍权利的游戏里龙之母全名是什么? 澳洲血橙胶原蛋白是玻璃瓶的吗? 梦见母亲侄子妹妹舅妈电话破屋的预兆 梦见坐别人的车什么意思 有多少人去拜过“龙母”,又有几人知道“龙母”是真的存在过 龙母庙地址在哪里? 龙母像地址在哪里? 龙姥姥是龙母娘娘吗 在jsp中url传入中文该怎么做? JSP通过URL向servlet传值时,怎么传中文字符 JSP地址传参能传中文不? 日本功夫小子如果没有藤本七海(铃子)的话,那还好看吗? 饥荒重生点怎么用 中日合拍的少林寺电影 求女性都市生活小说 刘,恺威演的古装戏除了山河恋还有哪些 找老板娘换衣服怎么说比较好 为什么人的意识会对肉体如此忠心耿耿? 若妻子时常攻击、敌视丈夫周边的人(包括家人、相亲、同事等),怎么办? 18人若妻编1 关于中国文化的英文稿,如武术、剪纸,节日等的单一素材。 用英语介绍中国剪纸文化 抖音直播述品要多久才能成交 炼气3000层叶空多久筑基 dual是什么意思车上的(auto是什么意思车上的) 做完双侧精索静脉曲张高位结扎手术后第七天早上梦遗了,有什么影响? 做了精索静脉曲张手术第四天不小心啦到伤口出血了怎么办 做了精索静脉曲张手术第二个月复查没事了,第三个月复查又有曲张了( B超显示有蜂窝状)可是*指标正 男生拥有完美翘臀是什么体验 爸爸姓毛妈妈姓牛如何取名 一般倒车影像装几个摄像头好 倒车影像摄像头容易掉吗 我今天骑电瓶车载人经过十字路口时,我把人下了准备过马路被交警拦下说要罚款50如。说是违反道法89条。 剑阵的作品简介 求一本网游小说,网游内容是御剑斗法,主角很强大曾被一个仙府遗迹困了几十年,主角还有一徒弟,徒弟背 无敌修仙小说 王源sleep 的歌词谐音 60岁的老人,进行常规体检,有没有什么好的套餐或医院介绍? 求大型魔术揭密 济世_by酥油饼_txt全文阅读,百度网盘免费下载 《失落封印》全集_by酥油饼_txt下载免费全文阅读 《大湖小妹》全集_by酥油饼_txt下载免费全文阅读 对《中庸》第十章中“子路问强.....国无道”这这段话表达的观点加以阐述或评价 季康子问政于孔子曰:“如杀无道,以就有道,? 库存鞋怎么算 阅读下列材料材料一 季康子问政于孔子曰:“如杀无道以就有道,何如?”孔子对曰:“子为政,焉用杀?子 唐嫣15年前拍的作品开播,23岁的颜值太绝了,你惊艳了吗? 求一首歌,一个特奇怪的声音,还颤音“龙累,(歌词)龙累”。。。