开发者

Storage of Unicode Characters in MySql and Oracle

Scenario: A database in MySql and Ora开发者_JAVA技巧cle. Both have same table and same columns. In one of the table I have a Column, 'FullName'.

Oracle Datatype used is VarChar2(64). MySql Datatype used is VarChar(64).

To Support Unicode Character UTF 8 is used as the default character set.

I'm getting a error in Oracle, which says "value too large for column", where as in MySql it works fine.

I would like to know, what's the difference between these two dbases?

Note: For japanese Character in UTF 8 encoding take 3 bytes.

Thanks in Advance.

Pavan


The reason it was working in MYSQL is because VarChar(64) in MYSQL means, 64 characters and the default character is UTF8.

For oracle it was not working, although the default Character Set for Oracle was UTF8. Reason is VarChar2(64), means 64 bytes. And For japanese Character in UTF 8 encoding take 3 bytes for a single character. Hence the error "value too large for column".

Thank to David Sykes for the solution in the following link.

Difference between BYTE and CHAR in column datatypes

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜