我已经从本地机器到服务器机器导入了数据库.导入数据库时,DB的字符集值由系统默认设置为"Latin".我已将utf8
数据库的字符集更改为" ".但是,不修改数据库排序规则值的存储过程.目前它是" latin1_swedish_ci
".如何将数据库排序规则值从" latin1_swedish_ci
" 更改为" "以utf8_general_ci
用于所有存储过程.
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = DB_Name; USE DB_Name; ALTER DATABASE DB_Name DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE=utf8_general_ci; SET NAMES UTF8;
提前致谢.
如CREATE PROCEDURE和CREATE FUNCTION语法中所述(强调添加):
如果
CHARACTER SET
和COLLATE
属性不存在,则使用在例程创建时生效的数据库字符集和排序规则.为避免服务器使用数据库字符集和排序规则,请为字符数据参数提供显式CHARACTER SET
和COLLATE
属性.如果更改数据库缺省字符集或排序规则,则必须删除并重新创建使用数据库缺省值的存储例程,以便它们使用新的缺省值.