`

OFBiz 的中文乱码解决方案

 
阅读更多

OFBiz开发时遇到乱码的问题,MySQL数据库插入中文数据时出现了一个问题,报告中文错误:incorrect string value .....

1.这时由于字符编码不一致导致的,应该将数据库对应的表或coloum改成uft-8,所以如果在CustomerExtra这表中存储中文的话,需要将
  此表另外还有operationlog表的charset改成utf-8

2.Servlet中字符显示为证券的中文,而且表也设置为utf-8,但是数据库和页面还是乱码,怎么回事?
  这里需要修改jdbc url的参数,如将jdbc:mysql://localhost/ccbportal?zeroDateTimeBehavior=convertToNull
  改成:jdbc:mysql://localhost/ccbportal?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8

3.前台输入的是中文,到后台就变成了乱码,怎么回事?
  无论何种表单提交都可以在后台的java文件中通过String des = new String(s.getBytes("iso8859-1"),"UTF-8");
  来转换成你想要的UTF-8编码方式。但如果每处都加词句太麻烦,故分post和get两种方式区分提交。
  写一个Filter即可解决问题:
 


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> 1 
 2  import java.io.IOException;
 3  import javax.servlet.ServletException;
 4  import javax.servlet.Filter;
 5  import javax.servlet.FilterChain;
 6  import javax.servlet.FilterConfig;
 7  
 8  import javax.servlet.ServletRequest;
 9  import javax.servlet.ServletResponse;
10  
11  public class SetCharacterEncodingFilter implements Filter {
12  
13   protected String encoding = "GBK";
14  
15   protected FilterConfig filterConfig = null;
16  
17   protected boolean ignore = true;
18  
19   public void init(FilterConfig filterConfig) throws ServletException {
20    this.filterConfig = filterConfig;
21    this.encoding = filterConfig.getInitParameter("encoding");
22    String value = filterConfig.getInitParameter("ignore");
23    if (value == null)
24     this.ignore = true;
25    else if (value.equalsIgnoreCase("true"))
26     this.ignore = true;
27    else if (value.equalsIgnoreCase("yes"))
28     this.ignore = true;
29    else
30     this.ignore = false;
31   }
32  
33   public void doFilter(ServletRequest request, ServletResponse response,
34     FilterChain chain) throws IOException, ServletException {
35    // Conditionally select and set the character encoding to be used
36    if (ignore || (request.getCharacterEncoding() == null)) {
37     String encoding = selectEncoding(request);
38     if (encoding != null) {
39      request.setCharacterEncoding(encoding);
40     }
41  
42    }
43    // Pass control on to the next filter
44    chain.doFilter(request, response);
45   }
46  
47   protected String selectEncoding(ServletRequest request) {
48    return (this.encoding);
49   }
50  
51   public void destroy() {
52    this.encoding = null;
53    this.filterConfig = null;
54   }
55  }
56   


web.xml添加此Filter:


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> 1  <filter>
 2   <filter-name>encodeFilter</filter-name>
 3   <filter-class> com.aicent.ccb.filter.SetCharacterEncodingFilter</filter-class>
 4   <init-param>
 5    <param-name>encoding</param-name>
 6    <param-value>GBK</param-value>
 7   </init-param>
 8   <init-param>
 9    <param-name>ignore</param-name>
10    <param-value>true</param-value>
11   </init-param>
12  </filter>
13  <filter-mapping>
14   <filter-name>encodeFilter</filter-name>
15   <url-pattern>/control/*</url-pattern>
16  </filter-mapping> 

分享到:
评论

相关推荐

    Ofbiz 和 Mysql中文乱码解决方法.docx

    本文将详细探讨如何解决在Ofbiz(一个开源的企业应用框架)与MySQL数据库交互时出现的中文乱码问题。 首先,我们需要了解中文乱码产生的原因。通常,乱码是由于数据在不同阶段的编码格式不一致导致的。例如,JVM...

    Opentaps(OFBiz)下fop(生成PDF)中文乱码解决方案

    NULL 博文链接:https://jeho0815.iteye.com/blog/1187197

    OFBiz PDF 中文乱码问题

    NULL 博文链接:https://5ven.iteye.com/blog/2238197

    ofbiz 数据模型 中文手册

    ofbiz数据模型中文手册详细介绍了OFBiz(Open For Business)项目的数据模型结构,它是用Apache License发布的开源电子商务套件的一部分。在OFBiz项目中,数据模型是其业务逻辑的基础,其中定义了大量的数据库表以及...

    ofbiz中文技术文档

    Opentaps(Open Source Enterprise Applications Suite)是基于Ofbiz构建的一个全面的企业资源规划(ERP)和客户关系管理(CRM)解决方案。Opentaps不仅包含了Ofbiz的所有功能,还添加了更多的企业级特性,如高级...

    解决ofbiz中文报表"#"导入字体

    ofbiz后台应用 - 订单 - 订单查询/订单列表 - 订单明细 - "PDF" 报表, 中文报"#" 错误。 需导入中文解决

    Ofbiz 数据库全模型

    这个项目旨在提供一套全面的、可扩展的企业级应用程序解决方案,涵盖了电子商务、供应链管理、客户关系管理等多个业务领域。在Ofbiz中,数据库模型扮演着至关重要的角色,它是系统数据结构的基础,定义了所有业务...

    ofbiz安装与配置

    Ofbiz 是一个基于 Java 的开源企业级电子商务平台,提供了强大的电子商务解决方案。为了帮助初学者快速上手 Ofbiz,我们将详细介绍 Ofbiz 的安装与配置过程。 环境搭建 在开始安装 Ofbiz 之前,我们需要安装以下...

    ofbiz整理资料

    **OFBiz中文文档的重要性** 在学习和使用OFBiz的过程中,拥有中文文档是非常关键的。英文文档虽然全面,但对于中文使用者来说可能存在语言理解障碍。中文文档能帮助用户更快速地理解和掌握OFBiz的各种概念、配置和...

    ofbiz10.04表结构

    OFBiz全称为Open For Business Project,它是一个用于构建企业应用程序的全面业务解决方案,涵盖电子商务、供应链管理、客户关系管理等多个领域。 OFBiz是基于Java的,它提供了丰富的服务和组件,通过灵活的表结构...

    关于OFBIZ的资料

    OfBiz,全称为The Apache Open For Business Project,是一个开源的企业应用套件,旨在为企业提供一套完整的业务自动化解决方案。这个项目由Apache软件基金会维护,遵循Apache 2.0许可证,因此它不仅免费,而且拥有...

    ofbiz开发手册

    OFBiz 是一个基于 Java 的开源电商平台,旨在提供一个灵活、可扩展、可配置的电商解决方案。本文档将作为一个 OFBiz 的入门教材,主要介绍 OFBiz 的环境搭建、安装以及用一个简单的应用作为例子介绍了 OFBiz 应用...

    OFBiz API中文版.chw

    OFBiz API中文版.chw

    Apache OFBiz Cookbook

    通过对本书的学习,不仅可以深入了解 OFBiz 的强大功能,还能学会如何根据实际需求定制解决方案。无论是初学者还是有经验的技术人员,都能从中受益匪浅。此外,该书还为想要深入了解 OFBiz 架构和技术细节的人提供了...

    ofbiz-cn.github.io:ofbiz 中文文档

    ofbiz 中文文档 《ofbiz 中文文档》是一本开源的 ofbiz 相关知识文档,力求详细的介绍 ofbiz 的方方面面。 本文档将主要分为 ofbiz 的技术实现分析,和业务逻辑分析两个部分。同时结合了 ofbiz 在开发过程中所参 考...

    ofbiz学习笔记(自学整理)

    解决这些问题通常需要查阅Ofbiz的官方文档、社区论坛或在线教程。 最后,持续参与Ofbiz社区,如在邮件列表上提问,或者在GitHub上跟踪最新的开发动态,都能帮助你保持对Ofbiz最新版本的了解,并提升你的技能。记住...

    Ofbiz16.11.05运行及开发环境搭建等

    - **PDF中文乱码问题**:在导出PDF时,若出现中文乱码,可能是因为字体或编码设置不正确。解决方法包括确保使用的PDF库支持中文字符集,并正确设置字符编码。 - **外部系统调用Ofbiz服务方法**:OFBiz提供服务API,...

    ofbiz资料大全

    OFBiz API中文版.rar Apache OFBiz Cookbook Sep 2010.rar Opentaps widget使用说明.rar OFBiz.Development.2008.rar Groovy中文教程.rar freemarker中文手册.rar ofbiz10.04表结构.rar OFBiz开发指南.rar ...

Global site tag (gtag.js) - Google Analytics