我使用以下命令创建数据库:
db2 create database kixfs using codeset UTF-8 territory AT
我的插入脚本(DML)以UTF-8格式化。
来自resources.dml的示例insert语句:
INSERT INTO RESOURCES (RESOURCEKEY, LANGUAGE, CATEGORY, RESOURCEVALUE) VALUES ('XXXX', 'de', 'action', 'Funktion "Gerätemodell erfassen" erfolgreich ausgeführt.');
如果我在创建后检查表格内容:
Fehler bei der Ausführung der Funktion "Gerätemodell erfassen".
如果我检查数据库配置,一切看起来都很好:(db2 get db cfg for MY_DB)
为什么数据被读取或存储错误的任何想法?
编辑: 我通过db2管理控制台(CLP)的批处理文件执行插入脚本:
db2 -t -v -f resources.dml +o -z createTablesViews.log
它可能取决于db2 termminal的编码吗?如果是,我该怎么改变呢?
答案 0 :(得分:0)
我们遇到了同样的问题。脚本也是。脚本编码必须匹配服务器编码,在我们的例子ANSI
中。即使数据库是UTF-8
。将脚本文件转换为ANSI
为我们做了诀窍。