linux mysql 存储过程乱码,mysql存储过程中 乱码问题解决办法

中文乱码无论在何时都是一个头疼的问题,mysql的存储过程参数也同样存在这个问题。

1、直接使用insert into语句没问题,能够正常插入汉字。

2、把insert into语句移到Procedure中后,就无法插入汉字了。在客户端软件中插入的汉字总是为乱码,英文和数字没问题。

3、如果在jdbc中调用这个Procedure总是报错:

在查阅了很多相关资料后,发现只需要改动procedure的参数的定义就OK了,改动为:在varchar参数后面加入: character set 指定编码。由于服务器编码为gbk,我指定为:

declare  v_title varchar(200)  character set gbk

再执行插入时就不会乱码了

写个完整的 存储过程 供参考

create procedure copyDevTO_authKey()

begin

DECLARE var_userId int;

DECLARE var_authkey varchar(512) character set gbk;

DECLARE done INT DEFAULT 0;

DECLARE cur_device CURSOR FOR select  userId,authkey from tbl_device;

DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;

SET done = 0;

OPEN cur_device;

-- loop  cursor

FETCH cur_device INTO var_userId , var_authkey;

WHILE done <> 1 DO

insert into tbl_user_authkey values (var_userId , var_authkey);

FETCH cur_device INTO var_userId , var_authkey;

END WHILE;

CLOSE cur_device;

end

============================================================================

昨天下班前发现有个存储过程有问题,无法正确的查询数据。

数据表和字段都是 utf8 存储的中文内容。在连接数据库后也使用 SET NAMES utf8; 设置了编码。但是在存储过程中无法查询中文内容的字段。由于一些逻辑处理的原因,存储过程使用了游标,同时定义了一些局部变量。

CREATE PROCEDURE `PROC_FOOBAR`(id INTEGER)

BEGIN

DECLARE user_id VARCHAR(32) ;

– 省略代码若干

END

user_id 在代码中参与了一个 查询 SELECT * FROM `table1` WHERE `UID` = user_id。

在存储过程中输出 user_id 发现英文内容正常,但是中文内容乱码。

开始以为存储过程的编码有问题,但是不使用变量的内容又正常。上网查了一下,有人遇到同样的问题:

但是显然,他的问题只要正确设置编码即可。

突然灵光一现,NND,character set 这个东西我忽略了。正解如下:

CREATE PROCEDURE `PROC_FOOBAR`(id INTEGER)

BEGIN

DECLARE code, user_id VARCHAR(32) CHARACTER SET utf8;

– 省略代码若干

END

kindeditor文本编辑器乱码中乱码问题解决办法

这个问题我已经解决掉了,不是更改内容的编码格式,只要将lang/zh_CN.js  这个文件的编码转换成unicode即可 操作方法是 用记事本打开这个文件,另存为,然后更改文件的编码格式为unico ...

关于jFinal开发中遇到的中文乱码问题解决办法

关于jFinal开发中遇到的中文乱码问题解决办法 设置tomcat的编码,修改

MySQL存储过程中的3种循环&comma;存储过程的基本语法&comma;ORACLE与MYSQL的存储过程&sol;函数的使用区别,退出存储过程方法

在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体 ...

ubuntu mysql emma中文乱码问题解决

ubuntu mysql emma中文乱码问题解决 emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(python). apt-get安装emma ...

MYSQL存储过程中常使用的命令记录

MYSQL存储过程中常使用的命令记录 1.触发器trigger 查看:show triggers; 2.存储过程procedure 查看:show procedure status; 查看详细:sho ...

MYSQL存储过程中的IN、OUT和INOUT

MYSQL存储过程中的IN.OUT和INOUT,不能简单理解为一个方法的参数和返回值,而是面向整个过程上下文变量的. 一.MySQL 存储过程参数(in) 基本可以理解为传入function的参数,而 ...

Mysql 存储过程中使用多游标

Mysql 存储过程中使用多游标 drop procedure IF EXISTS test_proc_1; create procedure test_proc_1() begin ; ) ; ) ...

MySQL存储过程中使用SELECT …INTO语句为变量赋值

使用SELECT …INTO语句为变量赋值 在MySQL存储过程中,可以使用SELECT …INTO语句对变量进行赋值,该语句在数据库中进行查询,并将得到的结果赋值给变量.SELECT …INTO语句 ...

随机推荐

JavaSE18章&lowbar;JSON解析详解

一.JSON简介 JSON(JavaScript Object Notation),是一种轻量级的数据交换格式.JSON是存储和交换文本信息的,语法类似 XML.易于人阅读和编写,同时也易于机器解析和 ...

Revit中如何将视图过滤器传递到其它项目

在Revit中采用过滤器控制视图显示,利用过滤器给图元着色,利用过滤器控制视图显示或隐藏等,那么,在不同的项目中是否每次都要设置相同的过滤器,其实,Revit提供了这么一种在不同项目传递信息的方式,在 ...

python&lpar;4&rpar;-迭代器 和 生成器

迭代器是访问集合元素的一种方式.迭代器适合遍历一些巨大或无限的集合,比如几个G的文件.迭代器具有以下特点: 1. 访问者不需要关心迭代器内部的结构,只需通过__next__()方法不断取下一个内容 2 ...

Python 爬取 中关村CPU名字和主频

0.准备工作   1.相关教程         Python 爬虫系列教程:http://cuiqingcai.com/1052.html         Python Web课程:http://ww ...

开始补习JavaScript的第一天

JavaScript介绍: ①.JavaScript是一种解释性的,基于对象的脚本语言. ②.JavaScript是一种轻量级的编程语言,可以嵌入到html页面中,由浏览器来解释执行. ③.JavaS ...

AIOps 平台的误解,挑战及建议(下)— AIOps 挑战及建议

本文篇幅较长,分为上,中,下,三个部分进行连载.内容分别为:AIOps 背景/所应具备技术能力分析(上),AIOps 常见的误解(中),挑战及建议(下). 前言 我大概是 5,6 年前开始接触 ITO ...

在web&period;xml中配置监听器来控制ioc容器生命周期

5.整合关键-在web.xml中配置监听器来控制ioc容器生命周期 原因: 1.配置的组件太多,需保障单实例 2.项目停止后,ioc容器也需要关掉,降低对内存资源的占用. 项目启动创建容器,项目停止销 ...

TerminateProcess的使用问题

最好时外部进程来结束目标进程,类似于任务管理器的结束目标进程方式.如果是自身进程想结束自身,可能不同版本的windows行为不一致,有一些能自身强制退出,有一些强制退出不了. 本来MSDN上就说了这个 ...

Java知多少(21)this关键字详解

this 关键字用来表示当前对象本身,或当前类的一个实例,通过 this 可以调用本对象的所有方法和属性.例如: public class Demo{ public int x = 10; publi ...

用uart实现printf函数

硬件:JZ2440 实现功能:用putchr()函数实现printf() start.s nand.c uart.c uart.h my_stdio.c my_stdio.h main.c start ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五阿哥钢铁电商资深运维工程师手把手教你这样玩企业组网

虽说干的是信息化智能化的行当&#xff0c;但每个IT工程师都必定踩过“IT系统不智能”的坑。就拿企业组建局域网来说&#xff0c;为了对网络接入用户身份进行确认&#xff0c;确保用户权限不受办公地点变更的影响&#xff0c;许多IT工程师都习惯开启 “手动模式”和苦逼的“加班…

linux程序 option,long-option.c/解析命令行参数

#include //继续ing。。。#include "version-etc.h"//初始化结构体static struct option const long_options[] {{"help", no_argument, NULL, h},{"version", no_argument, NULL, v},{NULL, 0, NULL, 0}};这里贴一下从网上找到的中文解释(出自h…

预告:Intel、Hulu、阿里、京东、携程等大数据实战直播

前言&#xff1a;由CSDN主办的SDCC 2017之大数据技术实战线上峰会将在CSDN学院举行。作为SD系列技术峰会的一部分&#xff0c;本次线上峰会秉承干货实料&#xff08;案例&#xff09;的内容原则&#xff0c;将邀请圈内顶尖的布道师、技术专家和技术引领者&#xff0c;共话大数据…

Linux添加gcc软连接,linux静态库,动态库和硬链接,软连接

静态库&#xff11;、命令gcc -c a.c b.c生成a.o和b.o&#xff1b;&#xff12;、命令ar -r libname.a a.o b.o生成包含名为libname.a的静态库&#xff1b;&#xff13;、命令gcc main.c libname.a可以在main中链接静态库libname.a。动态库(共享库)&#xff11;、命令gcc -c a.…

微服务应用容器化场景中常见问题总结

简介&#xff1a;云原生技术栈是下一代应用转型的必然选择&#xff0c;它包含了微服务架构&#xff0c;DevOps和容器技术。对于微服务架构来说&#xff0c;应用是“第一公民”&#xff0c;他逐渐蚕食原来底层软件或者硬件的功能&#xff0c;例如服务注册与发现以及负载均衡&…

linux用date指令,Linux中date指令的使用

1. 只输入date就会显示年月日时间二&#xff0e;date的设置 使用 -s设置时间和日期的的命令1..date –s 11:32:342..date –s 20101232就会显示年月日&#xff0c;但这样会把时间清零3..date –s ‘2010-10-2 11:22:21’这样就会显示修改的信息4.. date –s “2010-10-2 11:22…

Swarm的进化和大规模应用

目前在容器编排领域&#xff0c;Kubernetes、Mesos以及Swarm呈现“三分天下”的格局&#xff0c;各自都有着不同的应用场景。短期内&#xff0c;很难看到“一统天下”的局面&#xff0c;本文&#xff0c;来自阿里云高级专家陈萌辉将带你了解阿里内部在推行容器化过程中的一些着…

linux可以用dos命令是什么意思,Linux系统常用命令与DOS命令的类似之处和本质区别各是什么?...

满意答案iedsa3641推荐于 2019.09.13采纳率&#xff1a;56% 等级&#xff1a;8已帮助&#xff1a;361人Linux是一个非常优秀的操作系统&#xff0c;与MS&#xff0d;WINDOWS相比具有可靠、稳定、速度快等优点&#xff0c;且拥有丰富的根据UNIX版本改进的强大功能。下面做一个…

从 0 到 300,Instagram 创始人 CTO 分享工程团队成长的经验

最初&#xff0c;Instagram 被 Facebook 收购时公司只有六个工程师&#xff0c;且都是全栈。本文Instagram 创始人兼 CTO Mike Krieger 分享了创业初期并在资源有限的情况下&#xff0c;人才招聘、技术专攻的实践经验&#xff0c;将时间、精力用在最有价值的地方。以下为译文&a…

深度揭秘Twitter的新一代流处理引擎Heron

流计算又称实时计算&#xff0c;是继以Map-Reduce为代表的批处理之后的又一重要计算模型。随着互联网业务的发展以及数据规模的持续扩大&#xff0c;传统的批处理计算难以有效地对数据进行快速低延迟处理并返回结果。由于数据几乎处于不断增长的状态中&#xff0c;及时处理计算…

linux生成图片快捷方式,在Deepin Linux系统下给AppImage格式软件创建快捷方式的方法...

这两天使用deepin的过程中&#xff0c;无意中发现了一个叫krita的程序&#xff0c;是一个图像处理软件&#xff0c;类似Photoshop&#xff0c;于是就下载krita-4.2.8-x86_64的这个版本。但是麻烦的就是他是一个AppImage格式&#xff0c;每次我打开的时候需要打开相应文件夹中的…

图数据库在CMDB领域的应用

【导语】在上期的图数据库介绍中&#xff0c;我们对什么是图数据库&#xff0c;以及图数据库所擅长的领域做了一个初步的介绍&#xff0c;也收到了众多的反馈和咨询&#xff0c;特别要求我们对图数据库在一些具体行业的应用能做一些深入介绍。为此&#xff0c;从本期文档开始&a…

北理在线作业答案c语言,北理工19春《面向对象程序设计》在线作业【标准答案】...

北理工《面向对象程序设计》在线作业-0003试卷总分:100 得分:0一、 单选题 (共 38 道试题,共 76 分)1.对虚函数的调用()A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编2.下列关于派生类的描述中&#xff0c;错误的是()。A.派生类继承了基类的…

从分布式到微服务,深挖Service Mesh

原文&#xff1a;Pattern: Service Mesh &#xff08;作者&#xff0f;Phil Calado&#xff0c;翻译&#xff0f;雁惊寒&#xff0c;责编&#xff0f;魏伟 &#xff09; 摘要&#xff1a;在前一段时间&#xff0c;我们CSDN推出了《深度剖析Service Mesh服务网格新生代Istio》一…

c语言程序设计安徽区笔试部分,2021年安徽省二级C语言程序设计笔试样题-20210419093521.doc-原创力文档...

第1套 C语言程序设计笔试样题一 单项选取题(每题1分&#xff0c;共40分)1.某微型计算机型号规格标有PentiuШ600字样&#xff0c;其中PentiuШ是指 __C____A. 厂家名称 B. 机器名称 C. CPU型号 D. 显示屏名称2.当前微型机上普通使用光驱及光盘&#xff0c;它采用是__C____A. 超…

应用开发者必须了解的Kubernetes网络二三事

Kubernetes网络基本的部署调度单元&#xff1a;Pod Kubernetes中的基本管理单元并非是一个容器&#xff0c;而是一个叫做pod的东西。我们认为部署了一个或多个容器的环境是一个pod单元。通常情况下&#xff0c;它们代表了提供部分服务的单个功能端点。 举两个有效的pods单元为例…

c51编程语言基础习题,《单片机基础》练习题及答案

单片机基础(第3版)第1章计算机基础知识(一)填空题1.十进制数14对应的二进制数表示为(1110B)&#xff0c;十六进制数表示为(0EH)。十进制数-100的补码为(9CH)&#xff0c;100的补码为(64H)。2.在一个非零的无符号二进制整数的末尾加两个0后&#xff0c;形成一个新的无符号二进制…

高可用Docker容器云在58集团的实践

58私有云平台是58同城架构线基于容器技术为内部服务开发的一套业务实例管理平台&#xff0c;支持业务实例按需扩展&#xff0c;秒级伸缩&#xff0c;平台提供友好的用户交互过程&#xff0c;规范化的测试、上线流程&#xff0c;旨在将开发、测试人员从基础环境的配置与管理中解…

c语言程序设计课件数组,数组(C语言程序设计)课件

数组(C语言程序设计)课件 前牙反颌和开颌的原因多由于不良喂养方式和吮指等不良习惯造成&#xff0c;也可因多颗乳磨牙过早缺失&#xff0c;迫使儿童用前牙咀嚼&#xff0c;下颌逐渐前伸移位造成。 前牙反颌和开颌的原因多由于不良喂养方式和吮指等不良习惯造成&#xff0c;也可…

Docker CE/EE 原生支持Kubernetes

在今天的 DockerCon EU (2017) 上&#xff0c;Solomon 宣布 Docker 将原生支持 Kubernetes&#xff0c;也就是说 Kubernetes 将和 Swarm 一样作为 Docker 平台的编排管理系统。这包括 Docker EE、Docker CE 以及 Docker for Mac/Windows 等全平台的支持。 Docker for Mac/Windo…