环境:MYSQL数据库本身是UTF8+客户端是UTF8连接的
如果在这种情况下,存储过程依然是乱码的话,那么原因如下:
1、定义了变量。变量必须也要以UTF8定义。
2、用了中文字符串作比较,此时要将中文转化成UTF8编码,否则乱码。
具体方法:
CREATE PROCEDURE proc_dealwith_incomingrecords(IN p_in date) BEGIN /*1.FIRST DELETE temp*/ DELETE from temp; /*2.sum by province*/ INSERT into temp(province,businessName,count,incomingTime) SELECT province,businessName,count(*) as 'cnt',DATE_FORMAT(incomingTime,'%Y/%m/%d') as incomingTime2 from t_incoming_records where DATE_FORMAT(incomingTime,'%Y/%m/%d')=p_in group by province,businessName,incomingTime2; /*3.row to COLUMN*/ INSERT into t_cs_incoming_report(institution,report,compensation,challenge,inquiry,other,incomingTime) SELECT province as 'institution', sum(CASE WHEN businessName=convert(_utf8'报案' using utf8) THEN count END) as 'report', sum(CASE WHEN businessName=convert(_utf8'承保理赔' using utf8) THEN count END) as 'compensation', sum(CASE WHEN businessName=convert(_utf8'投诉' using utf8) THEN count END) as 'complaint', sum(CASE WHEN businessName=convert(_utf8'咨询' using utf8) THEN count END) as 'inquiry', sum(CASE WHEN businessName=convert(_utf8'其他服务' using utf8) THEN count END) as 'other', incomingTime from temp GROUP BY 'institution'; end;
refurl:http://magicma-007.iteye.com/blog/1687598
http://blog.csdn.net/dy357978912/article/details/8906963
-------------------------------------------
ps:在Navicat for mysql的软件版本其实蛮好的,调用存储过程如下:
1、随便打开一个查询窗口
2、输入如下语句:
set @p_out=1; call proc2(@p_out);
然后会在下文出现结果1,结果2等。
相关推荐
在使用Java应用程序与MySQL数据库交互的过程中,常常会遇到一个令人头疼的问题:中文字符在存储到数据库时出现乱码现象。这种现象通常发生在使用JDBC(Java Database Connectivity)连接数据库,并进行数据插入操作...
Java 中 MySQL 中文乱码问题解决方案 Java 中 MySQL 中文乱码问题是数据库开发中常见的问题之一,解决这个问题需要对数据库、JSP 和 Tomcat 进行相应的设置。下面我们将详细介绍解决该问题的方案。 数据库编码修改...
在Java编程中,连接MySQL数据库时可能会遇到中文乱码的问题,这主要涉及到字符集的配置。MySQL数据库默认的字符集是latin1,不支持中文字符,因此需要进行相应的设置以确保中文能正确显示和存储。以下是一些关键知识...
在使用MySQL数据库的过程中,字符集设置不当可能会导致数据存储或查询时出现乱码问题。本文将针对MySQL数据库中的乱码现象进行深入分析,并提供相应的解决策略。 #### 二、MySQL数据库乱码概述 MySQL数据库中的...
- 在使用 Java 等语言连接 MySQL 数据库时,可以在 JDBC 连接字符串中添加 `useUnicode=true&characterEncoding=utf-8` 参数来指定使用 UTF-8 编码。示例: ```plaintext jdbc:mysql://localhost:3306/login?...
4. 数据传输过程中编码转换错误:在网络传输或程序处理过程中,字符集转换不正确,也可能导致乱码。 三、解决MySQL乱码的方法 1. 设置全局字符集:通过`ALTER SERVER`或`my.cnf`配置文件更改MySQL服务器的默认字符...
在Java编程中,连接MySQL数据库并处理中文乱码是一个常见的挑战,尤其是在开发涉及多语言内容的应用时。本文将深入探讨如何解决这个问题。 首先,我们来看Java与MySQL的连接过程。在Java中,我们通常使用JDBC(Java...
3. **连接参数设置**:在通过编程语言(如Java)连接MySQL时,确保连接URL包含适当的字符集参数,例如`useUnicode=true&characterEncoding=GB2312`。 4. **查询时临时改变字符集**:可以使用`SET NAMES`语句在会话...
MySQL中的汉字乱码问题是一个常见的困扰许多开发人员和数据库管理员的问题。这主要涉及到字符编码设置不正确,导致在存储或显示汉字时出现乱码。在MySQL中,字符集是用来定义如何存储和处理字符的规则,它包括服务器...
在处理数据库操作时,字符集编码问题经常会导致数据展示或存储过程中出现乱码现象。MySQL作为广泛使用的开源关系型数据库管理系统之一,在实际应用中也难免会遇到字符集不匹配导致的数据乱码问题。本文将详细探讨...
总结来说,解决“hibernate+mysql乱码问题”需要从数据库层面、Hibernate配置、Java代码以及开发环境等多方面进行检查和调整。遵循统一的编码标准并确保所有组件之间的一致性是避免乱码的关键。通过上述方法,你可以...
解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题.pdf
### Java连接MySQL乱码问题解决 #### 背景与问题描述 在使用Java应用程序连接MySQL数据库时,可能会遇到一个常见...通过以上步骤,我们可以有效地解决Java连接MySQL时可能遇到的乱码问题,确保数据的准确存储和检索。