- 浏览: 83409 次
- 性别:
- 来自: 武汉
-
文章分类
最新评论
-
yhq1212:
http://wibiline.iteye.com/blog/ ...
jacob word -
yhq1212:
http://www.oschina.net/p/hudson ...
JAVA WEB 程序自动更新思路, -
yhq1212:
持续集成引擎 Hudson
JAVA WEB 程序自动更新思路, -
11lingxian:
已经有这样的产品了:bamboo
JAVA WEB 程序自动更新思路, -
Mr.Cheney:
实现了请分享一下哦
JAVA WEB 程序自动更新思路,
ie6 和ie7版本带来的一个奇怪的中文乱码问题(长度为奇数时最后一个字符会出现乱码)(转)
博客分类:
JavaWeb
最近完成一个jsp开发的项目,却被中文处理的乱码问题搅得好烦,尤其是由.net转身过来的朋友,更是深有体会。
而这个问题更是中文由于ie版本的不同,所引起的特殊的奇怪问题:
表现为:ie7正常,ie6 参数就会出现中文接受信息错误。(长度为奇数时最后一个字符会出现乱码 )
原因:ie7支持UTF8编码,但是ie6支持不好。
解决方法:
1、用post发送,这个方法当然不出错了,但是,有时候必须用传参的方法,那就没则了,用第二个方法。
2、习惯把中文字符串 显示长度设置为偶数
--------------------------------------------------------
情况是:
全是汉字时,无论奇数还是偶数,都无乱码,
如果是英文中文混合,并且英文字符数是奇数时,就会出现最后有一个?号
如果是英文中文混合,并且英文字符数是偶数时,无乱码
现在的处理逻辑是,在业务方法里进行判断,如果输入的字符个数为奇数,则给其拼接上一个全角的空格,如果是半角的空格,也会有乱码问题.
我暂时试了这个办法, 居然解决问题,
form是以post方式传递的,pager-taglib中接受到得参数会以get方式传递,所以接受到得参数会是乱码,解决办法将tomcat的server.xml中的connector改为:
Xml代码 复制代码
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="UTF-8"/>
Xml代码 收藏代码
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="UTF-8"/>
通过的上面的设置,在IE6中传递偶数的中文参数不会有问题,但是传递基数的中文参数同样是乱码(此问题只有iE6有,IE7其他浏览器都不存在此问题)。问题解决办法:引入java.net.URLEncoder包,将要传递的中文字符通过URLEncoder.encode(request.getParameter("key"),"utf-8")解析传递即可。
Html代码 复制代码
<%@ page language="java" pageEncoding="utf-8"%>
<%@page import="java.net.URLEncoder;"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<form action="lucene/search.do" method="post">
<label>时间范围:</label>
<input name="sDate" type="text" onfocus="HS_setDate(this)" readonly> 至
<input name="eDate" type="text" onfocus="HS_setDate(this)" readonly>
<label> 关键字:</label>
<input name="key" type="text">
<input type="submit" value="搜索" style="color:#000;">
</form>
<pg:pager url="lucene/search.do" index="half-full" items="${Pager.totalcount}" maxPageItems="${Pager.limit}"
export="currentPageNumber=pageNumber" scope="request">
<pg:param name="totalCount" value="${Pager.totalcount}"></pg:param>
<pg:param name="limit" value="${Pager.limit}"></pg:param>
<pg:param name="sDate" value="${sDate}"/>
<pg:param name="eDate" value="${eDate}"/>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="list1" id="table1">
<tr>
<th width="40" class="num">序号</th>
<th width="80"> </th>
<th width="266">情报标题</th>
<th width="292">时间</th>
<th width="204">来源</th>
</tr>
<c:forEach var="info" items="${Pager.data}" varStatus="i">
<tr>
<td class="num">${i.count}</td>
<td class="ico"></td>
<td> <a href="information/detail.do?id=${info.id}&key=<%=URLEncoder.encode(request.getParameter("key"),"utf-8")%>"target="mainFrame">${info.title}</a>
</td>
<td> <fmt:formatDate value="${info.createDate}" pattern="yyyy-MM-dd" />
</td>
<td>${info.source}
</td>
</tr>
</c:forEach>
</table>
<div class="page">
<div>第 <B>${currentPageNumber}</B> / <SPAN>${Pager.totalpage}</SPAN> 页 每页<B>${Pager.limit}</B> 条 共<B>${Pager.totalcount}</B>条记录 </div>
<div>
<pg:first><a href="${pageUrl}&key=<%=URLEncoder.encode(request.getParameter("key"),"utf-8")%>">首页</a></pg:first>
<pg:prev><a href="${pageUrl}&key=<%=URLEncoder.encode(request.getParameter("key"),"utf-8")%>">上一页</a></pg:prev>
<pg:pages> <a href="${pageUrl}&key=<%=URLEncoder.encode(request.getParameter("key"),"utf-8")%>">${pageNumber}</a> </pg:pages>
<pg:next><a href="${pageUrl}&key=<%=URLEncoder.encode(request.getParameter("key"),"utf-8")%>">下一页</a></pg:next>
<pg:last><a href="${pageUrl}&key=<%=URLEncoder.encode(request.getParameter("key"),"utf-8")%>">尾页</a></pg:last>
</div>
</div>
</pg:pager>
jsp页面这样改:
function getOutLawMessage(){
var outLawNum = encodeURI($("#outLawNum").val());
var outLawName = encodeURI($("#outLawName").val());
var birthday = encodeURI($("#birthday").val();
var nickName = encodeURI($("#nickName").val();
var caseNumber = encodeURI($("#caseNumber").val();
var caseCateUuid = encodeURI($("#caseCateUuid").val();
document.getElementById("list_message_iframe").src="/oaw/view/department_menu/search_outlaw_message.do?outLawNum="+outLawNum+"&outLawName="+outLawName+"&birthday="+birthday+"&nickName="+nickName+"&caseNumber="+caseNumber+"&caseCateUuid="+caseCateUuid;
}
最后再接收是用
String parm = new String(request.getPremates("parematename").getBytes("ISO-8859-1"),"UTF-8");
发表评论
-
spring boot集成activi工作流问题
2021-07-13 16:00 1403在 @SpringBootApplication(exclu ... -
SpringBoot 读取 jar包下resource中整个文件夹下内容,生成临时目录
2020-03-06 09:22 1586static { try { copytR ... -
java webservice
2017-03-17 10:13 1095现在已经是中度脑残患者了,记性什么的都见了鬼,更大的原因还是 ... -
复选框提交回选
2015-10-15 23:23 661越来越健忘 1,复选框提交回选。 $(d ... -
STRUTS2 上传
2015-08-21 20:56 617得空上代码。 -
Nginx Tomcat Memcached SESSION 集群配置实践(Sticky Session)
2015-08-19 15:54 12991,附件1中为WIDNOW版本的 Memcached ... -
jacob word
2015-03-13 19:45 996Jacob操作office文档(Word,PPT,Excel ... -
tomcat右键Add and Remove
2014-11-06 18:41 777SET org.eclipse.wst.common ... -
动态添加行等 取值
2013-08-22 16:50 702... -
ireport 报表 中间出现空白
2013-04-22 14:24 5347现象,ireport 嵌套子报表自动分页后中间出现空白; ... -
java bean --table 查询
2013-02-21 17:01 715动态TABLE查询 -
WindowBuilder
2012-06-03 10:52 0WindowBuilder 博客分类: Ja ... -
subversion 1.7 整合apache 2.2
2012-05-09 14:20 900博客分类: java 1、apache官 ... -
apache ,tomcat负载均衡和集群配置
2012-04-24 11:32 838基于apache的tomcat负载均衡和集群配置 1】 下载 ... -
eclipse/MyEclipse 插件
2012-04-19 11:24 25711.Aptana Studio 描述:javascript, ... -
ubuntu 11.10 java 环境
2012-03-10 17:16 1271ubuntu 11.10 java 安装 1,安装JDK( ... -
java 素 数
2012-02-14 11:13 814static final int SUSHU = 200; ... -
lodop 打印相关资料
2011-12-28 17:31 1149http://mtsoftware.v053.gokao.ne ... -
HttpClient]HTTPClient PostMethod 中文乱码问题解决方案(2种)
2011-12-11 11:48 5677HTTPClient PostMethod 中文乱码问题解决方 ... -
后台模拟POST
2011-12-11 11:47 1363String url = "www.baidu.co ...
相关推荐
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
此数据集包含有关出租车行程的详细信息,包括乘客人数、行程距离、付款类型、车费金额和行程时长。它可用于各种数据分析和机器学习应用程序,例如票价预测和乘车模式分析。
把代码放到Word中,通过开发工具——Visual Basic——插入模块,粘贴在里在,把在硅基流动中申请的API放到VBA代码中。在Word中,选择一个问题,运行这个DeepSeekV3的宏就可以实现在线问答
【毕业设计】java-springboot+vue机动车号牌管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
【毕业设计】java-springboot-vue交通管理在线服务系统的开发源码(完整前后端+mysql+说明文档+LunW).zip