• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MYSQL存储过程字符集 一个非常纠结的有关问题

mysql 搞代码 7年前 (2018-06-02) 193次浏览 已收录 0个评论

mysql存储过程字符集 一个非常纠结的问题
create testtableA(
  zhongwen text(256),

)DEFAULT CHARSET=utf8;
create testtableB(
  writezhongwen text(256),
  in text(256),

)DEFAULT CHARSET=utf8;

DELIMITER //
CREATE PROCEDURE test(IN inzhongwentext(512) CHARSET ‘utf8’)
BEGIN
declare temvalue text;
select zhongwen into temvalue from testtableA;
insert into testtableB(writezhongwen,in) value (temvalue,inzhongwen);
END//
DELIMITER ;

如果在创建存储过程的时候不将inzhongwen设置成utf8
那么testtableB的in字段和writezhongwen将会是乱码……
将它设置成utf8后,in字段恢复正常,而writezhongwen字段仍然是乱码

我连接数据库都会经过这个步骤
mysql_query(‘set names utf8’)
我不希望必须要修改mysql的配置文件来来改变数据库的字符集,如果换一台机器,换另一个不懂电脑的人,他就没法弄了~

所有我想请教一下如何可以将
select 出来的字符改成utf8格式呢

MYSQL创建存储过程的时候能像创建表的时候一样指定字符集吗?
或者如何定义变量的时候设置它的默认字符集呢?
declare temvalue text;

——解决方案——————–
将text类型换成varchar试试


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MYSQL存储过程字符集 一个非常纠结的有关问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址