创建MySQL存储过程时如何设置字符集和排序规则? MySQL documentation没有提供任何示例,并且一般语法略显不清楚。
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。感谢。
答案 0 :(得分:13)
omg omg omg
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命令行,输入
SET NAMES UTF8;
然后删除并重新导入存储过程。这解决了我的问题。我甚至不想考虑5.1.21之前的用户。他们在黑暗中摸索着!
答案 1 :(得分:4)