记录阿里巴巴QA架构组成长点滴。2008年关键词为效率,技术,影响力!QA/测试架构师定义:开发和设计测试框架测试库;纵横全局的考虑产品的功能,设计复杂的测试系统;负责研发某一项特定的测试技术;为公司考虑如何提高测试效率。领导公司测试技术的发展和测试策略上的方向,关注整个公司的测试部门的问题,前瞻性的考虑未来的版本的测试策略和技术。测试架构师计划/设计测试平台,关注着产品的测试过程,提供咨询服务,影响到公司内的测试机构测试社区,以及开发机构等,对产品各个方面施加深远而正确的影响,最终提高整体软件质量。

一次mysql部分汉字乱码解决过程

上一篇 / 下一篇  2008-09-26 22:09:53 / 个人分类:开源工具与新技术研究

 

    从Confluence db导出数据在mysql控制台上乱码,在SPRING MVC页面也乱码,如。从confunce应用页面上看,无乱码。到底原因在哪里呢?

 

由于涉及的层非常多,只能用隔离法。

   主要有几种可能

1)     db里面的数据是否真有乱码

2)     输出到页面上的汉字有乱码

3)     页面编码识别有错

 

1.1.1   mysql控制台检查:

mysql> show variables like 'char%';

+--------------------------+-----------------------------------+

| Variable_name           | Value                            |

+--------------------------+-----------------------------------+

| character_set_client    | gb2312                           |

| character_set_connection | gb2312                           |

| character_set_database  | utf8                             |

| character_set_filesystem | binary                           |

| character_set_results   | gb2312                           |

| character_set_server    | utf8                             |

| character_set_system    | utf8                             |

| character_sets_dir      | D:\MySQLServer5.0\share\charsets\ |

+--------------------------+-----------------------------------+

8 rows in set (0.05 sec)

 

mysql> show variables like 'coll%';

+----------------------+-------------------+

| Variable_name       | Value            |

+----------------------+-------------------+

| collation_connection | gb2312_chinese_ci |

| collation_database  | utf8_general_ci  |

| collation_server    | utf8_general_ci  |

+----------------------+-------------------+

3 rows in set (0.00 sec)

 

 

在控制台依然乱码。

 

下载MYSQL Administrator,用Mysql query browser查看,OK的。

 

只能剩下2种可能了。

 

1.1.2   JDBC直接连接DB

String url =    "jdbc:mysql://127.0.0.1:3306/scmproj?user=root&password=mysql&useUnicode=true&characterEncoding=GB2312";

 

                    java.sql.Connection con = DriverManager.getConnection(url);

 

                    Statement stmt = con.createStatement();

 

      

                    String query = "select * from users where email='yi.suy@alibaba-inc.com'";

 

                    ResultSet rs = stmt.executeQuery(query);

 

          while (rs.next())

 

                    {

                           // System.out.println(new

                           // String(rs.getString(1).getBytes("UTF8")).toString());

                           System.out.println(new String(rs.getString("fullname")));

                    }

  

 同样输出正确。

 

1.1.3   IBATIS API连接DB

private static SqlMapClient sqlMapper;

 

private static SqlMapClient sqlMapper; Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");

                    // Reader reader =

                    // Resources.getResourceAsReader("D:/eclipse-SDK-3.3.2-win32/project/SCMProj/bin/SqlMapConfig.xml");

                    sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);

                    reader.close();

 

List list =sqlMapper.queryForList("getProjectByName", queryStr);

                                   SCMProject proj=(SCMProject) list.get(0);

 

正常。

 

剩下来的就是检查SPRING的编码格式了。

 

最后锁定SPRING  VelocityViewResolver

<property name="contentType" value="text/html;charset=UTF-8" />

 


TAG: mysql velocity 乱码 spring 开源工具与新技术研究

 

评分:0

我来说两句

日历

« 2022-05-19  
1234567
891011121314
15161718192021
22232425262728
293031    

数据统计

  • 访问量: 119642
  • 日志数: 163
  • 文件数: 1
  • 建立时间: 2008-02-26
  • 更新时间: 2008-12-10

RSS订阅

Open Toolbar