首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建存储过程:设置字符集和归类

问创建存储过程:设置字符集和归类
EN

Stack Overflow用户
提问于 2012-08-12 14:22:57
回答 2查看 24.1K关注 0票数 14

在创建MySQL存储过程时,如何设置字符集和排序规则?MySQL documentation没有提供任何示例,对一般语法也不太清楚。

代码语言:javascript
复制
mysql> show procedure status\G

*************************** 1. row ***************************
                  Db: MslLandingSequence
                Name: DeploySkycrane
                Type: PROCEDURE
             Definer: curiosity@localhost
            Modified: 2012-08-04 00:05:16
             Created: 2011-11-12 00:02:45
       Security_type: DEFINER
             Comment: 
character_set_client: latin1
collation_connection: latin1_swedish_ci
  Database Collation: latin1_swedish_ci

最后三项应该是Unicode。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-15 21:50:13

character_set_client是创建例程时character_set_client系统变量的会话值。collation_connection是创建例程时collation_connection系统变量的会话值。数据库排序规则是例程所关联的数据库的排序规则。这些列是在MySQL 5.1.21中添加的。

http://dev.mysql.com/doc/refman/5.1/en/show-procedure-status.html

简而言之,打开mysql命令行,键入

代码语言:javascript
复制
SET NAMES UTF8;

然后删除并重新导入存储过程。这解决了我的问题。我甚至不想去想5.1.21之前的用户。他们在黑暗中摸索!

票数 18
EN

Stack Overflow用户

发布于 2015-04-30 12:49:52

注意bug report。它表明过程及其参数不是与数据库的缺省字符集相关联的,而是始终与二进制字符串相关联的。

因此必须显式地为参数指定字符集属性。

简单的重新创建过程可能无法解决问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11920153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档