Character encoding DB2不保存样式化撇号(’;)

Character encoding DB2不保存样式化撇号(’;),character-encoding,db2,db2-luw,Character Encoding,Db2,Db2 Luw,我试图在DB2LUW9.7中的表中插入一个样式化的撇号(')。我尝试过的每一个方法都会导致它在被选回来时成为一个正方形() 我尝试插入它的方法: 在控制中心(GUI)中修改和提交行 在命令编辑器中通过SQL命令更新行 通过IBMDataStudio2.2从文件(UTF-8编码和ANSI编码)加载 有没有办法把这个字符输入数据库?如果没有,是否有无法使用的字符列表?数据库/表空间的编码是什么?我怀疑它需要设置为UTF-8。您可能需要创建一个新的表空间或重新创建数据库,并将编码显式设置为UTF-

我试图在DB2LUW9.7中的表中插入一个样式化的撇号(')。我尝试过的每一个方法都会导致它在被选回来时成为一个正方形()

我尝试插入它的方法:

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

有没有办法把这个字符输入数据库?如果没有,是否有无法使用的字符列表?

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

要执行此操作,请运行以下命令并查找“代码集”信息:

db2 get db cfg for <database name>
db2 get db cfg for
来自

您已经放置了两个单引号,以便在 桌子

另见: 和

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

请注意,允许某人键入引号并插入未更改的引号(如sprintf(sqlstr,“insert INTO mytable VALUES('%s')”,inputstr);)可能会导致SQL注入

我的意见:

测试“);删除数据库;插入mytable值('测试


可能导致空数据库

非常有用,谢谢!我们的基础设施人员说它使用UFT-8编码,我认为这是真的。
 insert into userid.empy values(1234,'RAM''');