在UTF8,AL32UTF8 这类多字节字符集数据库中,如果用户表中某些列存储汉字,则需要注意!
在UTF8,AL32UTF8 这类多字节字符集数据库中,如果用户表中某些列存储汉字,则需要注意! 也许你定义一个列为varchar2(100) 是想存放100个汉字,但其实这表示最大长度是100个字节,也就是说只能存放下25个汉字,当然如果数据库字符集是GBK16,则这样定义没问题,但到了多字节字符集的数据库就不行了,因为一个汉字是用四个字节存储。所以你应该将列定义为:varchar2(100 char)
在UTF8,AL32UTF8 这类多字节字符集数据库中,如果用户表中某些列存储汉字,则需要注意! 也许你定义一个列为varchar2(100) 是想存放100个汉字,但其实这表示最大长度是100个字节,也就是说只能存放下25个汉字,当然如果数据库字符集是GBK16,则这样定义没问题,但到了多字节字符集的数据库就不行了,因为一个汉字是用四个字节存储。所以你应该将列定义为:varchar2(100 char)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/526592/viewspace-236780/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/526592/viewspace-236780/