【发布时间】:2023-03-23 18:04:02
【问题描述】:
假设我有以下字符串:Rückruf ins Ausland 我需要将它插入到最大大小为 10 的数据库中。 我在 java 中做了一个普通的子字符串,它提取了这个字符串 Rückruf in,它是 10 个字符。当它尝试插入此列时,我收到以下 oracle 错误:
java.sql.SQLException: ORA-12899: value too large for column "WAEL"."TESTTBL"."DESC"(实际:11,最大:10) 原因是数据库有一个 AL32UTF8 字符集,因此 ü 需要 2 个字符。
我需要在 java 中编写一个函数来执行此子字符串,但考虑到 ü 占用 2 个字节,因此在这种情况下返回的子字符串应该是 Rückruf i(9 个字符)。有什么建议吗?
【问题讨论】:
-
也许可以选择使用字符长度语义来定义列长度。