在一台机器上有个Mysql服务,我想在这台机器上创建两个数据库,但是期望的两个库的字符编码是不同的,一个希望是utf-8,另一个为latin1。请问Mysql是否支持数据库级别的字符设置(不要服务器级别的)?
4条回答 默认 最新
weixin_42565855 2011-09-01 11:25关注每一个数据库有一个数据库字符集和一个数据库校对规则,它不能够为空。CREATE DATABASE和ALTER DATABASE语句有一个可选的子句来指定数据库字符集和校对规则:
[code="java"]
CREATE DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]
ALTER DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]
[/code]
例如:
[code="java"]
CREATE DATABASE db_name
DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
[/code]
MySQL这样选择数据库字符集和数据库校对规则:
· 如果指定了CHARACTER SET X和COLLATE Y,那么采用字符集X和校对规则Y。
· 如果指定了CHARACTER SET X而没有指定COLLATE Y,那么采用CHARACTER SET X和CHARACTER SET X的默认校对规则。
· 否则,采用服务器字符集和服务器校对规则。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报