`

乱码问题之终极解决

阅读更多
很多人 特别是新手 做j2ee 项目中 总能受困于 这样或那样的编码问题 这里讨论下 新手学习,高手指教 一起研究下 (以 tomcat mysql 做例子 我推荐所有的编码采用utf-8) 1 工程 工程内所有的 .java .jsp .xml .txt 都有默认的编码 默认的是系统环境的编码 我们中文系统通常是GBK 推荐都采用utf-8 utf-8 的时候 你编译 生成doc 可能会遇到乱码(特别是采用ant 的时候,生成doc你几乎100%会遇到) 解决方法 以ant 为例子 编译 注意 encoding 参数 <target name="build"> <mkdir dir="${build.dir}"> <javac encoding="utf-8" destdir="${build.dir}" target="1.3" debug="true" deprecation="false" optimize="false" failonerror="true"> <src path="${src.dir}"> <classpath refid="master-classpath"> </javac> </target> 生成doc 注意 encoding 和 charset <target name="doc"> <mkdir dir="doc"> <javadoc charset="utf-8" encoding="utf-8" packagenames="${packages}" sourcepath="src" destdir="doc" author="true" version="true" use="true" splitindex="true"> <classpath refid="master-classpath"> </javadoc> </target> 这里 的encoding 就是指的你 java 文件的编码格式 javac 和javadoc 都有这个参数 charset 指的是 生成 doc 后的编码方式 javadoc 的参数 2 数据库 mysql 的编码最复杂 从4以后 mysql 号称支持多编码 它更灵活了 我们也更麻烦了 mysql 有4个级别的编码 系统级 库级 表级 sql语句级 请保持采用统一的编码 推荐utf-8 其它数据库要简单的多 一般都是一种编码 3 web server tomcat 为例 tomcat server.xml 中一个参数 <connectorport="8080" maxhttpheadersize="8192" maxthreads="150" minsparethreads="25" maxsparethreads="75" enablelookups="false" redirectport="8443" acceptcount="100" connectiontimeout="20000" disableuploadtimeout="true" urincoding="utf-8"> 经测试 这个URIncoding 参数主要是 get 方法中采用编码 4 jsp 显示层 第1条中说明了 jsp 文件本身的格式 很多朋友采用eclipse +myeclipse 生成jsp 它自动生成一个头<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 不要误解 这句话不能保证你在ie里看到的不是乱码 pageEncoding它的意思是 这个页面本身采用的是 utf-8 (似乎只在eclipse 里有效果 ,我不确定) 为了在ie 里不乱码 你还得加一句 <%@ page contentType="text/html; charset=UTF-8"%> 它不能在(myeclispe)自动生成 推荐修改 myeclipse的模板 在下边的目录里 MyEclipse\eclipse\plugins\com.genuitec.eclipse.wizards_4.0.1\Templates 里边的jsp模版 你加上<%@ page contentType="text/html; charset=${encoding}"%> 5 filter 自从tomcat 4 以后 网上就流传了一个SetCharacterEncodingFilter 过滤器 搜一下有很多 很好用 web.xml 中加入 <filter>  <filter-name>Set Character Encoding</filter-name>  <filter-class>filters.SetCharacterEncodingFilter</filter-class>  <init-param>  <param-name>encoding</param-name>  <param-value>utf-8</param-value>  </init-param> </filter>  <filter-mapping>  <filter-name>Set Character Encoding</filter-name>  <url-pattern>/*</url-pattern>  </filter-mapping> 6 资源文件 首先保证 文件本身是utf-8 然后部署的时候用 native2ascii 转换 这里给出 ant 里的例子 <native2ascii encoding="utf-8" dest="${web.dir}/WEB-INF/classes" src="${src.dir}" includes="**/*.properties">
分享到:
评论

相关推荐

    JavaWeb乱码问题终极解决方案.docx

    JavaWeb 乱码问题终极解决方案 下面是从给定的文件中生成的相关知识点: 一、确认乱码发生的位置 在解决 JavaWeb 乱码问题时,首先要确认乱码的地方。出现乱码可能是浏览器显示问题,也可能是 Java 编码问题,也...

    乱码问题终极解决方案

    本篇文章将针对"乱码问题终极解决方案"这个主题,深入探讨在Java、JSP和Ajax中如何有效地预防和解决乱码问题。 首先,我们要理解乱码产生的原因。乱码通常是因为字符编码不一致导致的,比如文件编码、程序内部编码...

    乱码终极解决办法java实现

    对于给定的"解决乱码终极办法"压缩包文件,很可能是包含了一些示例代码或工具,帮助开发者快速解决特定场景下的乱码问题。如果遇到具体问题,可以参考这些资源,结合本文的知识点,来找到最合适的解决方案。

    j2ee中文乱码问题终极解决之道

    尽管上述方法可以在一定程度上解决乱码问题,但最好的解决之道是建立一个完整的编码管理策略,涵盖应用的输入、输出以及中间处理的各个环节。在设计阶段就考虑到字符集的兼容性,避免在后期修复导致的复杂性。同时,...

    终极解决Linux乱码

    ### 终极解决Linux乱码:中文字符乱码详解与解决方案 在Linux系统中,遇到中文乱码的问题是不少用户和管理员都会遭遇的常见难题。本文将深入解析Linux中文乱码的原因,并提供一系列有效的解决方案,旨在帮助用户...

    java汉字乱码终极解决代码

    开发中前台页面向后台传参,汉字乱码,看了好多网上的方法都解决不了,所以写了一个工具类,判断是乱码就转换,不乱码就不乱换,汉字字母符号自动判断。最后完美解决汉字乱码问题。

    Struts2乱码终极解决办法

    ### Struts2乱码终极解决办法 #### 一、引言 在开发基于Struts2框架的应用时,经常遇到的一个问题就是中文乱码。这不仅影响用户体验,还可能导致数据处理错误。本文将详细介绍如何彻底解决Struts2中的乱码问题,并...

    ASP.NET导出Excel乱码的终极解决方案

    ### 终极解决方案 解决ASP.NET导出Excel乱码的关键在于确保整个流程中的字符编码一致性。以下是一种被证实有效的解决方案: #### 1. 设置正确的HTTP响应编码 在生成Excel文件前,首先需要设置`Response`对象的`...

    终极解决apache乱码和日志分割问题

    终极解决apache乱码和日志分割问题,LoadModule encoding_module modules/mod_encoding.so Header add MS-Author-Via "DAV" &lt;/IfModule&gt;

    解决RHEL5.1安装VM TOOLS及中文乱码终极解决方案

    解决 RHEL5.1 安装 VM TOOLS 及中文乱码终极解决方案 本文主要讲述了在 RHEL5.1 系统中安装 VM TOOLS 的解决方案,并解决了 Linux 系统中出现的中文乱码问题。该解决方案主要包括四个部分:安装 VM TOOLS、解决安装...

    中文乱码——终极必杀.xmind

    乱码终极解决方案,如果你对乱码还存在疑惑,请下载,相信能帮助你,解决乱码问题,一步到位,希望能帮的上你

    MySQL乱码终极解决方案

    本篇文章将深入探讨MySQL乱码产生的原因以及提供一系列的解决方案,帮助你彻底解决这个问题。 首先,我们需要了解MySQL中的字符编码。MySQL从4.1版本开始引入了对多种字符集的支持,以适应全球化的语言需求。字符集...

    cmd乱码的终极解决放啊

    ### CMD乱码问题的终极解决方案 #### 背景与问题描述 在使用Windows系统自带的命令行工具CMD时,可能会遇到字符显示乱码的问题。这种情况通常发生在输入或输出中文等非英文字符时,严重影响了命令行工具的正常使用...

    smartUpLoad终极版,完全解决中文路径乱码问题

    "smartUpLoad终极版"是一个专为解决这个问题而设计的上传组件,它能够确保在处理包含中文路径的文件时,文件名和路径保持正确无误。 首先,我们来深入理解一下为什么会出现中文路径乱码的问题。在计算机系统中,...

    解决数据库查询乱码的终极办法

    本文将深入探讨这一问题,并提供一种解决数据库查询乱码的终极办法。 #### 一、理解数据库乱码的原因 在深入解决方案之前,我们首先需要了解为什么会出现乱码的情况。一般来说,数据库查询乱码的主要原因有以下几...

    vim、gvim在windows下中文乱码的终极解决方案.docx

    "Vim、gvim在Windows下中文乱码的终极解决方案" Vim是一款功能强大且广泛使用的文本编辑器,但是在Windows平台下,却常常出现中文乱码的问题。这些问题包括文件显示乱码、菜单乱码、右键菜单乱码、console输出乱码...

    JavaWeb的各种中文乱码终极解决方法

    JavaWeb 中文乱码问题是一个常见的问题,解决方法有多种,但都需要了解字符编码、响应头和 Servlet 输出机制等知识。本文将从Servlet 输出乱码、Servlet 文件下载乱码两方面详细讲解 JavaWeb 中文乱码的解决方法。 ...

    php中文乱码问题的终极解决方案汇总

    本文主要给大家介绍了关于php中文乱码问题的终极解决方案,分享出来供大家参考学习,在开始之前,我们先来谈谈为什么会出现中文乱码? 很多新手朋友学习PHP的时候,发现程序中的中文在输出的时候会出现乱码的问题,...

    java中文乱码终极解决方案

    本文将深入探讨Java中解决中文乱码的终极策略,帮助开发者彻底摆脱这个困扰。 首先,我们要理解Java中的字符编码体系。Java采用Unicode作为其内部编码,这使得它能够处理世界上几乎所有的字符集。然而,当与外部...

    解决ubuntu下中文乱码问题终版.pdf

    解决 Ubuntu 下中文乱码问题终极版 在 Ubuntu 系统中,中文乱码问题是一个常见的问题,影响着用户的使用体验。解决这个问题需要从多方面入手,包括 TXT 文件乱码、Rhythmbox 乱码和 WINE 乱码等。下面我们将逐一...

Global site tag (gtag.js) - Google Analytics