dot*_*hen 13 mysql stored-procedures character-encoding
在创建MySQL存储过程时,如何设置字符集和排序规则?在MySQL文档不提供任何实例和一般的语法有点不清楚.
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
Run Code Online (Sandbox Code Playgroud)
最后三项应该是Unicode.谢谢.
kel*_*ogs 15
omg omg omg
character_set_client是创建例程时character_set_client系统变量的会话值.collation_connection是创建例程时collation_connection系统变量的会话值.Database Collation是与例程关联的数据库的排序规则.MySQL 5.1.21中添加了这些列.
http://dev.mysql.com/doc/refman/5.1/en/show-procedure-status.html
简而言之,打开一个mysql命令行,输入
SET NAMES UTF8;
Run Code Online (Sandbox Code Playgroud)
然后删除并重新导入存储过程.这解决了我的问题.我甚至不想考虑5.1.21之前的用户.他们在黑暗中摸索着!