博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编码讨论---乱码问题之终极解决
阅读量:4192 次
发布时间:2019-05-26

本文共 1662 字,大约阅读时间需要 5 分钟。

很多人 特别是新手 做j2ee 项目中

总能受困于 这样或那样的编码问题
这里讨论下 新手学习,高手指教 一起研究下
(以 tomcat mysql 做例子 我推荐所有的编码采用utf-8)
1 工程
工程内所有的 .java .jsp .xml .txt 都有默认的编码 默认的是系统环境的编码
我们中文系统通常是GBK 推荐都采用utf-8
utf-8 的时候 你编译 生成doc 可能会遇到乱码(特别是采用ant 的时候,生成doc你几乎100%会遇到)
解决方法 以ant 为例子
编译 注意 encoding 参数
       
       
           
           
       
   
生成doc 注意 encoding 和 charset
这里 的encoding 就是指的你 java 文件的编码格式 javac 和javadoc 都有这个参数
charset 指的是 生成 doc 后的编码方式 javadoc 的参数
2 数据库
mysql 的编码最复杂 从4以后 mysql 号称支持多编码 它更灵活了 我们也更麻烦了
mysql 有4个级别的编码
系统级
库级
表级
sql语句级
请保持采用统一的编码 推荐utf-8
其它数据库要简单的多 一般都是一种编码
3 web server
tomcat 为例
tomcat server.xml 中一个参数
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 中加入
 Set Character Encoding
 filters.SetCharacterEncodingFilter

 encoding
 utf-8


 Set Character Encoding
 /*

6 资源文件
首先保证 文件本身是utf-8
然后部署的时候用 native2ascii 转换
这里给出 ant 里的例子
总结
到这里 你应该彻底解决了乱码了 嘿嘿
写的有点乱 还请高手们多指点

(本文作者:   欢迎转载,转载请保留作者声明,谢谢!) 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=791003

你可能感兴趣的文章
多核系统中三种典型锁竞争的加速比分析
查看>>
多核新观念-象使用内存一样使用CPU?
查看>>
OpenMP创建线程中的锁及原子操作性能比较
查看>>
多核编程中的任务随机竞争模式的概率分析
查看>>
多核编程中的任务分组竞争模式
查看>>
模块分解原理与三权分立
查看>>
模块分解原理的探索
查看>>
90%程序员写不出无BUG的二分查找程序?
查看>>
C/C++代码检视要点
查看>>
Symbian中所体现的软件编程艺术
查看>>
c/c++中指针参数如何传递内存
查看>>
Symbian程序图标问题
查看>>
虚基类释义
查看>>
虚函数释义
查看>>
自动记录上次登陆成功的用户信息
查看>>
基于回合制的在线棋类对战游戏(图)
查看>>
一个开源的IoC采集服务器体系结构设计
查看>>
“人民币找零”问题的贪婪法解决算法
查看>>
“装箱”问题的贪婪法解决算法
查看>>
“马的遍历”问题的贪婪法解决算法
查看>>