网上商城网站开发与建立的意义,墨客网站建设,聚通达网站建设,做瞹瞹嗳视频网站在做web前端页面的时候#xff0c;经常碰到传中文问题。网上有许多方案#xff0c;但仍不能根治#xff0c;最终要用js或者java的encode相关方法。常规方案有三部#xff1a;1.改tomcat的server.xml中URIEncodeing为utf-82.页面中编码设置为utf-83.整个项目编码使用utf-8我…在做web前端页面的时候经常碰到传中文问题。网上有许多方案但仍不能根治最终要用js或者java的encode相关方法。常规方案有三部1.改tomcat的server.xml中URIEncodeing为utf-82.页面中编码设置为utf-83.整个项目编码使用utf-8我这样处理后在火狐下不会出现乱码但IE中奇数个中文时仍有乱码。不过可以通过在页面中用URLEncoder.encode()方法解决但如果在jsp页面里用又显得繁琐且不美观。索性自己写个自定义标签来处理使用此方法就不会再出现IE奇数个汉字成乱码的问题了不多说上代码EncodeTag.javaJava代码 packagemypackage.util;importjava.io.IOException;importjava.net.URLEncoder;importjavax.servlet.jsp.JspException;importjavax.servlet.jsp.JspWriter;importjavax.servlet.jsp.tagext.TagSupport;importorg.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;publicclassEncodeTagextendsTagSupport {privateObject key;//自定义标签的key属性publicvoidsetKey(Object key)throwsJspException {this.keyExpressionEvaluatorManager.evaluate(key, key.toString(), Object.class,this, pageContext);}publicintdoEndTag() {try{// 使用JspWriter获得JSP的输出对象JspWriter jspWriterOutput pageContext.getOut();jspWriterOutput.write(URLEncoder.encode(key.toString(),utf-8));} catch(IOException ioEx) {System.out.println(IOException in HelloTag ioEx);}returnEVAL_PAGE;}}encode.tld(此文件需放在你的web项目的src目录下)Xml代码 ?xmlversion 1.0encodingUTF-8?xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsdversion2.0JSTL 1.1 core libraryJSTL core1.1enhttp://www.xxx.org/util/url/encodeurlEncodemypackage.util.EncodeTagemptykeytruejava.lang.Object在jsp中头部引入Java代码 在jsp中使用Java代码 xxxx