mysql source 执行sql脚本,中文变量不显示问题或乱码问题

执行脚本内容如下:

SET @pre_version=2017080901;
SET @cur_version=2017090401;
SET @ver_desc = ‘测试脚本‘;

CALL pro_exec_update_db_v_1(@pre_version,@cur_version,‘‘,1,0,‘‘);
CALL pro_exec_update_db_v_1(@pre_version,@cur_version,@ver_desc,2,0,‘‘);

  

存储过程如下:

DELIMITER |
drop procedure if exists pro_exec_update_db_v_1;
CREATE PROCEDURE pro_exec_update_db_v_1
(
npre_version INT,
ncur_version INT,
ver_desc	VARCHAR(1000),
pro_type INT,
nsql_type INT,
sql_str VARCHAR(4000)
)

BEGIN 

select ver_desc;
END;
|
DELIMITER ;

 在mysql 命令行里面 执行sql 无法显示ver_desc内容

解决方法:

把sql脚本的编码改为utf-8编码,执行正常。

时间: 2024-11-08 04:46:20

mysql source 执行sql脚本,中文变量不显示问题或乱码问题的相关文章

MySQL控制台执行.sql脚本文件

用notepad++编写好一个.sql脚本文件: 1 drop database if exists library; 2 create database library default character set utf8; 3 use library; 4 5 create table user( 6 id int(11) not null auto_increment, 7 name varchar(255) default null, 8 password varchar(255) de

MySQL命令执行sql文件的两种方法

MySQL命令执行sql文件的两种方法 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库.表以及数据等各种操作.下面笔者讲解MySQL执行sql文件命令的两种方法,希望能给刚开始学习 MySQL 数据库的朋友们. 学习过 SQLServer 或 Oracle 的朋友会知道,sql 脚本是包含一到多个 sql 命令的 sql 语句集合,我们可以将这些 sql 脚本放在一个文本文件中(我们称之为“sql 脚本文件”),然后通过相关的命令执行这个 sql 脚本文件.基

InstallShield在MySQL和Oracle中执行SQL脚本的方法InstallShield在MySQL和Oracle中执行SQL脚本的方法

简述 InstallShield已经内建了对MySQL和Oracle的支持.但是这个功能是通过ODBC实现的,它对SQL脚本的格式要求非常严格,因此已经通过官方客户端测试的脚本在IS中执行时往往就会报错. 一般来说,数据库脚本只保证通过官方客户端测试即可,同时维护一份供IS执行的脚本费时费力.因此,考虑安装程序对两数据库的支持通过官方客户端实现. MySQL   function InstallMySQLComponent(szComponent) NUMBER nResult; STRING

mysql下如何执行sql脚本

1.编写sql脚本,假设内容如下: create database dearabao;  use dearabao;  create table niuzi (name varchar(20)); 保存脚本文件,假设我把它保存在F盘的hello world目录下,于是该文件的路径为:F:\hello world\niuzi.sql 2.执行sql脚本,可以有2种方法:  第一种方法: 在命令行下(未连接数据库),输入 mysql -h localhost -u root -p123456 < F

MySQL 执行SQL脚本 报ERROR 1231 (42000)的解放办法

今天在source mysqldump 备份文件时,发现导入的过程中报如下的错误: ERROR 1231 (42000): Variable 'time_zone' can't be set to the value of 'NULL' ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NULL' ERROR 1231 (42000): Variable 'foreign_key_checks' can't

Inno Setup执行SQL脚本的方法

作为和NSIS并立的.两个最流行的免费Windows应用程序安装包制作工具之一,Inno在学习难度上相对要低一些,非常适合对一些简单的桌面程序打包.但对于较复杂的安装过程,或者Web应用程序来说,我个人觉得不是Inno的强项.当然,既然Inno内嵌了Pascal语言用以扩展功能,理论上不是不可以应付复杂的安装过程,但实现起来要复杂一些. 比如对于在安装过程中连接数据库并执行SQL脚本这样的需求,使用InstallShield应该会简单地多,而Inno却不支持直接操作数据库,并且相关的资料说明少之

java程序执行SQL脚本文件

首先引入ibatis-common-2.jar包 import com.ibatis.common.jdbc.ScriptRunner; import com.ibatis.common.resources.Resources; jpetstore测试代码如下: package com.ibatis.jpetstore.test; import java.sql.DriverManager; import java.util.Properties; import com.ibatis.commo

mysql导入外部sql脚本的方法

导入的方法分为两种:一是采用图形化工具,如SQLYog.Navicat等:二是利用MySql的命令行界面.下面分别介绍: 一:命令行界面 1.启动mysql: 2.登陆到mysql: 3.创建一个数据库,用于存放导入的sql: 4.找到Sql的路径,利用source命令导入到刚刚创建的数据库中: 二.利用Navicat导入Sql脚本: 1.建立和MySql的连接 2.找到要导入的数据库 3.运行SQL文件,选择sql文件路径 4.开始导入 导入成功,可在数据库下查看导入的sql文件了. mysq

SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)

需求描述 一般在生产环境中,在投产的情况下,需要批量的来执行SQL脚本文件,来完成整个投产,如果投产文件比较多的情况下,无疑这是一个比较痛苦的过程,所以本篇通过PowerShell脚本来批量完成. 监控脚本 <#批量执行SQL脚本文件#> <#===========================================#> $serverInstance="WUXUEL1" $Database="111" #$userName=&q