`
抛出异常的爱
  • 浏览: 620619 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

UTF-8汉字配置方案

阅读更多

  解决之道:

    将Java/J2EE系统的统一编码定义为UTF-8。UTF-8编码是一种兼容所有语言的编码方式,惟一比较麻烦的就是要找到应用系统的所有出入口,然后使用UTF-8去“结扎”它。

  一个J2EE应用系统需要做下列几步工作:

  1. 开发和编译代码时指定字符集为UTF-8。JBuilder和Eclipse都可以在项目属性中设置。
  2. 使用过滤器,如果所有请求都经过一个Servlet控制分配器,那么使用Servlet的filter执行语句,将所有来自浏览器的请求(request)转换为UTF-8,因为浏览器发过来的请求包根据浏览器所在的操作系统编码,可能是各种形式编码。关键一句:
    request.setCharacterEncoding("UTF-8")。
    网上有此filter的源码,Jdon框架源码中com.jdon.util.SetCharacterEncodingFilter
    需要配置web.xml 激活该Filter。
  3. 在JSP头部声明:<%@ page contentType="text/html;charset= UTF-8" %>。
  4. 在Jsp的html代码中,声明UTF-8:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. 设定数据库连接方式是UTF-8。例如连接MYSQL时配置URL如下:
    jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8
    注意,上述写法是JBoss的mysql-ds.xml写法,多亏网友提示,在tomcat中&amp;要写成&即可。一般其他数据库都可以通过管理设置设定UTF-8
  6. 其他和外界交互时能够设定编码时就设定UTF-8,例如读取文件,操作XML等。
   笔者以前在Jsp/Servlet时就采取这个原则,后来使用Struts、Tapestry、EJB、Hibernate、Jdon等框架时,从未被乱码困扰过,可以说适合各种架构。希望本方案供更多初学者分享,减少Java/J2EE的第一个拦路虎,也避免因为采取一些临时解决方案,导致中文问题一直出现在新的技术架构中。
分享到:
评论
1 楼 fins 2007-04-18  
有个问题我想问一下

我们的一个应用是传统gbk编码的

我写了一个组件
组件的代码是 utf-8的
把这个组件加到我们的那个gbk的工程里 会不会有问题呢?

相关推荐

    正杨CMS-企业网站内容管理系统V3.3 UTF-8

    软件版本: V3.3 UTF-8 软件语言: 简体中文 软件授权: 免费版 软件属性: 国产软件 软件大小: 6.59MB 软件操作系统: 2003/ASP/Access 软件作者(开发商):正杨网络 作者(开发商)URL: http://www.mu-cms.com ...

    乱码问题解决方案

    一、有关中文乱码: mysql部分: url配置:jdbc:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=utf8 jdbc:mysql://localhost:3306/XXX?useUnicode=true&amp;...charset=utf-8" %/&gt;

    Flask 让jsonify返回的json串支持中文显示的方法

    用flask时遇到了返回字符串支持中文显示的问题,在web端显示的是utf-8的编码,而不是中文,如下图。 虽然不影响接口的读取,但是可读性太差,于是研究了一下怎么直接显示成中文。最后找到了解决方案如下,在配置中...

    Docker容器中文乱码(修改docker容器编码格式)的解决方案

     问题经过定位,发现后台代码的multipartfile类在执行transterto的方法时就发生了此异常,然而配置文件集中的multipartResolver以及encodingFilter均已经设置成了UTF-8,排除代码异常。kubectl exec进入到docker...

    基于卷积神经网络的中文文本分类源码实现

    - UTF-8编码文件(utf8):2个 - 特定配置文件(escenter11PC):2个 - Git忽略文件(gitignore):1个 - Markdown说明文件(md):1个 - 训练过程检查点文件(runs/1492954581/checkpoints/checkpoint):1个 - CSV...

    navicat121_premium_cs_x64.tar.gz

    3.界面中文乱码问题:vi /opt/navicat121_premium_cs_x64/start_navicat,将export LANG=" "改为export LANG="zh_CN.UTF-8"即可解决中文乱码问题 4.添加快捷方式:sudo gedit /usr/share/applications/navicat....

    Tomcat6_优化_方案

    如果有中文注释,则文件编码必须指定,另存为 UTF-8 2. 将 URIEncoding 指定为 UTF-8,(如果程序写的太烂,有乱码,则将此行去除) 3. (无用,Http11NioProtocol不支持下载)将 protocol 从 "HTTP/1.1" 修改为 protocol...

    ubuntu 服务器中文乱码问题的解决方法

    之前买了阿里云的服务器,后来在上面编辑中文字符的时候发现乱码,在网上找了下解决方案,发现比较乱,有的也不太好用,特此整理了一下可用的一个方案...LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh:en_US:en 打开文件: sudo

    PHPDisk网盘系统(T-Core) 6.0 utf8 20110928.zip

    PHPDisk网盘系统(T-Core) 6.0 utf8 更新日志: 20110928修正: 1、UC整合无效的兼容问题 2、增加缓存开关,用户可手动开关缓存 3、上传下载积分问题修正 20110615修正: 1、UTF8版下载文件显示大小33B 问题 ...

    关于Apache默认编码错误 导致网站乱码的解决方案

    最近经常有同学在使用LAMP/WAMP时,遇到这样的编码错误问题: A网站程序编码UTF-8编码安装成功,运行成功。 B网站程序编gb2312也要安装在同一服务器上。 这样就出现问题了,Apache默认编码UTF-8在解析A网站的时候...

    X-Scan v3.1

    注:各变形方案若不冲突则可以同时使用,如“-cgi 1,6,8”表示同时使用第1、6、8号方案对HTTP请求进行变形。 2.示例: xscan -host xxx.xxx.1.1-xxx.xxx.255.255 -all -active -p 含义:检测xxx.xxx.1.1-xxx....

    RFC中文文档-txt

    RFC2279 UTF-8,ISO 10646的一种转换格式 RFC2281 Cisco热备份路由协议(HSRP) RFC2283 BGP-4的多协议扩展 RFC2284 PPP可扩展认证协议 RFC2289 一种一次性密码系统 RFC2296 HTTP 远程变量选择算法--RVSA/1.0 RFC2313...

    url 编码 js url传参中文乱码解决方案

    而一般默认是utf-8. 2.在传参是先编码在传输,接受时先编码,在接收。 string mm=Server.URLEncode(你); Response.Redirect(index.aspx?mm=+mm); 然后在接收页解码: string mm = Server.URLDecode(Requext

    X-Scan

    用“”替换“&lt;空格&gt;” 注:各变形方案若不冲突则可以同时使用,如“-cgi 1,6,8”表示同时使用第1、6、8号方案对HTTP请求进行变形。 &lt;br&gt; 2.示例: xscan -host xxx.xxx.1.1-xxx.xxx.255.255 -all -active...

    淘特站内搜索引擎(C#版)

    考虑到本软件使用的utf-8编码,某些语言如asp,php,有可能在get提交数据时使用的gb2312编码,如果不进行gb2312对utf-8的转换将会出现乱码现象,另外get方法提交数据也会有数据传输长度限制的问题,因此索引接口我们...

    Linux SecureCRT显示乱码解决方案

    1、选择字符编码为UTF-8。 2、设置字符集为GB2312后保存好后确认退出。 3、再次测试一下。 您可能感兴趣的文章:基于SecureCRT向远程Linux主机上传下载文件步骤图解浅谈ubuntu 使用securecrt vi编辑出现的问题...

    易语言程序免安装版下载

    绑定参数()”命令不支持汉字/UTF-8。 14. 修改BUG:VCL相关支持库部分组件在修改个别属性或调用个别方法后不可见,并改进了Delphi版本的支持库SDK。 15. 修改BUG:高级表格在列类型为数值型时,添加新行且省略标题...

    iuhyiuhkjh908u0980

    在windows系统中,命令行中执行ant命令时,当指定的 构建脚本文件中包含中文字符,而构建脚本文件的编码是UTF-8时将会 Invalid byte 1 of 1-byte UTF-8 sequence. 的错误.这个问题尚未 知解决,故先采用GBK的编码. 2.在...

    解压版MYSQL中文乱码问题解决方案

    character-set-server=utf8 指定数据库配置文件bin\mysqld –defaults-file=my.ini –initialize-insecure 指定配置文件my.ini(如果忽略这一步骤的话,配置my.ini将不会生效,有点小坑) 安装数据库:bin/mysqld –...

Global site tag (gtag.js) - Google Analytics