2

我正在尝试在 DB2 LUW 9.7 中的表中插入一个风格化的撇号 (')。我尝试过的每种方法都导致它在选择回来时是一个正方形 ()。

我尝试插入的方法:

  • 在控制中心 (GUI) 中修改和提交一行
  • 在命令编辑器中通过 SQL 命令更新行
  • 通过 IBM Data Studio 2.2 从文件(UTF-8 编码和 ANSI 编码)加载

有没有办法让这个字符进入数据库?如果没有,是否有一个根本无法使用的字符列表?

4

3 回答 3

4

您的数据库/表空间的编码是什么?我怀疑它需要设置为 UTF-8。您可能需要创建一个新表空间或重新创建数据库,并将编码显式设置为 UTF-8。

确定编码,请运行以下命令并查找“代码集”信息:

db2 get db cfg for <database name>
于 2011-07-13T15:40:22.650 回答
1

在 DB2 表中插入撇号

 insert into userid.empy values(1234,'RAM'''); 

您已经输入了 2 个单引号,以便单引号出现在表格中。

另请参阅: http ://www.ibmmainframes.com/viewtopic.php?t=36901&highlight=撇号和 http://www.ibmmainframes.com/viewtopic.php?t=29213&highlight=撇号

于 2011-07-13T17:40:40.020 回答
0

如果您使用 API,一个好方法是准备语句并将包含引号的文本绑定到参数。

提醒一下,允许某人输入引号并插入未更改的内容(如 sprintf(sqlstr, "INSERT INTO mytable VALUES ('%s')", inputstr);)可能会导致 SQL 注入。

我的输入:

test');删除数据库;插入mytable值('test

可能导致空数据库

于 2011-07-14T08:27:22.810 回答