NO.31 Html,Jsp,Rtf中文乱码解决方法大搜集
来源:互联网 发布:mac 删除 ds store 编辑:程序博客网 时间:2024/06/03 09:13
<meta http-equiv='Content-Type' content='text/html; charset=GBK'>
知识库总目录: No.0 WebApplication开发知识库
目前已总结Html、Jsp、Rtf的中文乱码解决方法,继续搜集中......(本文涉及字符集的均以GBK为例)
1.html中文乱码?
在head区加入此句即可
2.JSP中文乱码?
行首可有此行?
<%@ page contentType="text/html; charset=GBK"%>
3.使了上面一招JSP还显示乱码?
OK,该经典的SetCharacterEncodingFilter上场了:)
package amosryan.web.control;import java.io.IOException;import javax.servlet.*;public class SetCharacterEncodingFilter implements Filter {protected String encoding;protected FilterConfig filterConfig;protected boolean ignore;public SetCharacterEncodingFilter() {encoding = null;filterConfig = null;ignore = true;}public void destroy() {encoding = null;filterConfig = null;}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {if (ignore || request.getCharacterEncoding() == null) {String encode = selectEncoding(request);if (encode != null)request.setCharacterEncoding(encode);}chain.doFilter(request, response);}public void init(FilterConfig filterConfig2) throws ServletException {filterConfig = filterConfig2;encoding = filterConfig2.getInitParameter("encoding");String value = filterConfig2.getInitParameter("ignore");if (value == null)ignore = true;else if (value.equalsIgnoreCase("true"))ignore = true;else if (value.equalsIgnoreCase("yes"))ignore = true;elseignore = false;}protected String selectEncoding(ServletRequest request) {return encoding;}}
web.xml中的配置
<filter> <filter-name>Set Character Encoding</filter-name> <filter-class> amosryan.web.control.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>ignore</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
4.写RTF中文乱码?
用这个方法过滤下
private static final String LINE_BREAK = "{\\rtlch\\fcs1 \\af0 \\ltrch\\fcs0 \\loch\\af0\\hich\\af0\\dbch\\af31505\\insrsid15663546 \\par }"; private static final String CN_HEAD = "\\loch\\af0\\hich\\af0\\dbch\\f31505"; private static char[] digital = "0123456789ABCDEF".toCharArray();/** * 字符串转换为rtf编码 * * @param content * @return */public static String strToRtf(String content) throws Exception {if (content == null) {return "";}boolean includeChinese = false;StringBuilder sb = new StringBuilder(1024);for (char c : content.toCharArray()) {if (!includeChinese) {int intC = (int) c;if (intC > 256) {includeChinese = true;}}sb.append(convert(c));}if (includeChinese) {sb.insert(0, CN_HEAD);}String rtfStr = sb.toString();rtfStr = rtfStr.replace("\\'0D\\'0A", LINE_BREAK);return rtfStr;}private static String convert(char c) throws Exception {byte[] bs = String.valueOf(c).getBytes("GBK");StringBuilder sb = new StringBuilder(256);for (int i = 0; i < bs.length; i++) {int bit = (bs[i] & 0x0f0) >> 4;sb.append("\\'");sb.append(digital[bit]);bit = bs[i] & 0x0f;sb.append(digital[bit]);}return sb.toString();}
- NO.31 Html,Jsp,Rtf中文乱码解决方法大搜集
- JSP HTML 各种 乱码 解决方法|jsp include html乱码|include 乱码|MyEclipse 中文乱码
- Jsp中文乱码解决方法
- jsp中文乱码解决方法
- JSP中文乱码解决方法
- jsp html中文乱码
- jsp包含html文件中文显示乱码的解决方法
- jsp中文乱码终极解决方法
- jsp + mysql 中文 乱码 解决方法
- jsp页面包含含有中文的html页面出现乱码的解决方法(转载)
- JSP中获取HTML中的中文内容是乱码的解决方法---开发中遇到的问题
- .html转.jsp出现乱码解决方法
- jsp显示中文为乱码的解决方法
- jsp页显示中文乱码的解决方法
- jsp页面中文乱码的解决方法
- JSP页面中文乱码的解决方法
- jsp、servlet中文乱码终极解决方法
- 常见JSP中文乱码例子及其解决方法
- 人生的第一次面试
- MTK铃声修改方法
- UML软件设计基础(UML图详解)
- 虚心求教
- HOWTO disable screensaver and powermanager while mplayer or other apps are running
- NO.31 Html,Jsp,Rtf中文乱码解决方法大搜集
- 手机操作系统之三国
- 内核中tcp状态
- Oracle TO_DATE,to_char
- java.lang.reflect.Method (java反射机制)
- DirectUI SDK Guider 网址
- 我的人生
- http协议概述
- 音乐定时播放器