gpt4 book ai didi

mysql - Unicode字符在MySql和Oracle中的存储

转载 作者:行者123 更新时间:2023-11-29 07:10:05 24 4
gpt4 key购买 nike

场景:MySql 和 Oracle 中的数据库。两者都有相同的表和相同的列。在其中一张表中,我有一列“全名”。

Oracle 使用的数据类型是 VarChar2(64)。MySql 使用的数据类型是 VarChar(64)。

支持 Unicode 字符 UTF 8 用作默认字符集。

我在 Oracle 中遇到错误,提示“对于列来说值太大”,而在 MySql 中它工作正常。

我想知道,这两个数据库有什么区别?

注意:对于UTF 8编码的日文字符占用3个字节。

提前致谢。

帕文

最佳答案

它在 MYSQL 中工作的原因是因为 MYSQL 中的 VarChar(64) 表示 64 个字符,默认字符是 UTF8。

对于 oracle 它不起作用,尽管 Oracle 的默认字符集是 UTF8。原因是 VarChar2(64),表示 64 字节。对于 UTF 8 编码的日文字符,单个字符占用 3 个字节。因此出现错误“列的值太大”。

感谢 David Sykes 在以下链接中提供的解决方案。

Difference between BYTE and CHAR in column datatypes

关于mysql - Unicode字符在MySql和Oracle中的存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5151445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com