关于在mysql和oracle中编码对varchar等类型的影响

今天在测试oracle的时候发现,我用varchar2(10),的字段,竟然存不下“凯尔特人”四个字符;和我在学习mysql中显然是不同的,查阅资料发现:mysql

mysql 5.0 以后 varchar(1)是能够存一个字符,无论是
sql

数字、英文字母仍是汉字均可以(UTF8,三个字节也能够)!oracle

而在oracle中无论是varchar仍是varchar2,都要严格遵守编码: GBK的话,一个汉字两个字节 UTF-8,一个汉字三个字节 一个utf8数字占1个字节 一个utf8英文字母占1个字节 少数是汉字每一个占用3个字节,多数占用4个字节。 在GBK环境下varchar、varchar2和char都要严格遵守编码! UTF8下,varchar(3),varchar2(3)和char(3)才能放下一个字符! GBK下,varchar(2),varchar2(2)和char(2)才能放下一个字符!
相关文章
相关标签/搜索