2011-07-13 2 views
2

Я пытаюсь вставить стилизованный апостроф (') в таблицу в DB2 LUW 9.7. Каждый метод, который я попробовал, привел к тому, что он был квадратным(), когда он был выбран обратно.DB2 не сохраняет стилизованный апостроф (')

Методы, которые я попробовал вставить его:

  • изменений и совершение ряда в Центре управления (GUI)
  • Обновление строки с помощью команды SQL в Command Editor
  • Загрузка из файла (как кодированные UTF-8, так и ANSI) через IBM Data Studio 2.2

Есть ли способ получить этот символ в базе данных? Если нет, есть ли список символов, которые просто не могут быть использованы?

ответ

4

Какова кодировка вашей базы данных/табличного пространства? Я подозреваю, что его нужно настроить на UTF-8. Возможно, вам придется создать новое табличное пространство или воссоздать базу данных с кодировкой, явно установленной в UTF-8.

Для determine the encoding, выполните следующую команду и искать "Кодекс набор" информация:

db2 get db cfg for <database name> 
+2

Очень полезно, спасибо Наша инфраструктура люди говорили, что он использует кодировку UFT-8, и я предположил, что это правда. – Matt

0

, если вы используете API, хороший способ, чтобы подготовить заявление и связать цитаты, содержащие текст параметра.

Напомним, что позволяет кому-либо вводить цитату и вставлять ее без изменений (например, sprintf (sqlstr, «INSERT INTO mytable VALUES («% s »)», inputstr);) может привести к SQL-инъекции.

мой вход:

тест '); падение базы данных, вставьте в MYTABLE значений (' тест

может привести к пустой базе данных

Смежные вопросы