我需要将编码为 latin-1 的数据插入 SQLite 数据库。(这是一个外部要求;更改数据库或编码不是一种选择。)根据SQLite 文档,这应该是可能的:
SQLite 并不特别关注它接收的文本,并且非常乐意处理未规范化甚至格式正确的 UTF-8 或 UTF-16 的文本字符串。因此,想要存储 IS08859 数据的程序员可以使用 UTF-8 接口来实现。
我可以很容易地对文本进行编码:
Charset charset = Charset.forName("ISO-8859-1");
byte[] data = mystring.getBytes(charset);
但我看不到如何插入它,因为 Statement.executeUpdate 需要一个字符串,而不是一个字节数组。