gpt4 book ai didi

java - 如何剪切字符串以适应 MySQL 中的文本字段

转载 作者:可可西里 更新时间:2023-11-01 08:49:57 28 4
gpt4 key购买 nike

我正在将一个字符串写入一个数据库,该数据库有一个文本类型的字段。这意味着我可以写 65,535 bytes进入那个领域。之后我会得到一个 SQL 异常:

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'DETAILS' at row 1

所以我现在的问题是,我如何检查我的字符串,然后我如何在正确的位置剪切字符串它仍然适合数据库。

我知道这也取决于编码。我刚刚看到 MySQL 模式使用“latin1 - default collection”字符集。

最佳答案

我想我是用这段代码搞定的:

public String cutStringForTEXT(String string) {
String ENCODING = "ISO-8859-1";
int FIELD_SIZE = 65535;
try {
byte[] bytes = string.getBytes(ENCODING);
if (bytes.length >= FIELD_SIZE) {
return new String(Arrays.copyOfRange(bytes, 0, FIELD_SIZE), ENCODING);
}
} catch (UnsupportedEncodingException ex) {
}
return string;
}

如果太长,我会获取字节数组的子集并将其转换回字符串。

关于java - 如何剪切字符串以适应 MySQL 中的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16150568/

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