Лишние пробелы в конце при получении значений CHAR - PullRequest
0 голосов
/ 31 декабря 2010

Я использую ibatis и oracle 10. Драйвером jdbc является oracle.jdbc.driver.OracleDriver.Когда я получаю данные из таблицы, я обнаружил, что к ним добавляются два пробела.Допустим, в столбце ACTIVE_IND CHAR (1) получены данные «А».

Обратите внимание, что это происходит для всех полей CHAR.И нет лишних пробелов, всегда в два раза длиннее CHAR.Например, если есть столбец CHAR (14), лишние пробелы в конце не равны 28.

Это происходит только в среде System Testing.На наших локальных рабочих столах, используя тот же ojdbc14.jar и тот же код, мы не получили лишних пробелов.

Я думаю, что единственное, что отличается в среде System Testing, это база данных.Это связано с какой-то кодировкой символов?У нас есть какая-то конфигурация в базе данных, чтобы изменить ее?

Ответы [ 2 ]

2 голосов
/ 31 декабря 2010

Это очень похоже на проблему кодировки символов.Вы проверяли

  1. конфигурацию базы данных Oracle в каждом случае
  2. , под какой кодировкой символов работает ваше приложение для каждой среды (вы можете настроить ее, используя -Dfile.encoding=UTF8 или аналогичный -Я настоятельно рекомендую это)
0 голосов
/ 31 декабря 2010

Это не может быть полностью определено из информации, которую вы дали, что именно пошло не так. Что касается кодировки столбца, то на него влияет параметр COLLATION SETTING. Вы можете проверить следующую ссылку для получения дополнительной информации: http://www.lessanvaezi.com/collation-in-oracle-using-nls_sort/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...