|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Приветствую! FB 2.5.2.26540. Есть таблица Код: sql 1. 2. 3. 4. 5. 6. 7.
В соединении IBExpert выставлен Charset UNICODE_FSS , Font Characters Set RUSSIAN_CHARSET . Есть хранимая процедура, которая должна собирать значения в одну строку через разделитель. Полный текст процедуры не привожу, т.к. в "сокращенном" варианте та же ошибка. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
На некоторых значениях (в частности plokštos siūles) присвоение сваливается с ошибкой Код: sql 1. 2.
В чем может быть дело и как эту ошибку победить? Запрос с list работает корректно, но в нем нет возможности использовать order by, потому он не подходит. Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 21:07 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, 1. Зачем использовать устаревший чарсет? 2. попробуй обновится до 2.5.5 ибо CORE-4566 , хотя не уверен что это тот случай ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 21:19 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Симонов Денис, на что менять? UTF8 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 21:24 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, да. UNICODE_FSS сейчас только в метаданных. Но для начала проверь на последнем снапшоте. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 21:27 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Симонов Денис, спасибо, попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 21:29 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Симонов Денис, к сожалению, не помогло. Либо я что-то делаю не так. 1. Поставил Firebird-2.5.5.26952. 2. В таблицу добавил поле, получил такую структуру Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
3. Выполнил Код: sql 1.
4. В процедуре пробовал использовать PTX_VALUE_UTF - результат тот же: Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 09:31 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, а что же ты под UTF8 в два раза меньше места выделил 4096 vs 8192? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 09:48 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, в процедуре тоже чарсет поменял у всех переменных? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 09:49 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Симонов Денис, потому при выполнении Код: sql 1.
получил ошибку Код: sql 1.
Да и длина того "проблемного" значения меньше 4096. Не думаю, что в длине дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 09:52 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, чарсет коннекта тот же что и был? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 09:55 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Симонов Денис, да, коннект UTF8. Процедура выглядит так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 09:59 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, делай минимально воспроизводимый пример и в трекер ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 10:03 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Симонов Денис, где можно подсмотреть шаблон запроса в трекер? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 10:05 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, в трекере вестимо. Посмотри как другие тикеты оформлены ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 10:09 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, http://www.ibase.ru/unicode_faq/ вероятно, не работает конвертация из unicode_fss в utf8. Тогда действительно в трекер. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 11:37 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Разместил CORE-5145 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 11:46 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, на будущее - наименование core надо оформлять так, чтобы было ясно, в чем проблема (или область проблемы). В твоем случае оно должно было быть, например "from UNICODE_FSS to UTF8: Cannot transliterate character between character sets". или "Can not convert data from UNICODE_FSS to UTF8". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 11:50 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, а сама БД в каком чарсете создана? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 11:57 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
kdv, на мой взгляд, тут не совсем конвертация. Коннект UTF8, поле в таблице UTF8, переменные тоже UTF8. Причем до брейкпойнта на присвоении видно, что в S находится правильный текст. Тем не менее, если такой заголовок не совсем очевидный, то подскажи, на что исправить, чтоб было понятнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 12:01 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Симонов Денис, БД в WIN1251. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 12:06 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, что-то я уже запутался. вначале не копировался unicode_fss в unicode_fss. Потом не копировался unicode_fss в utf8. В результате в трекер попал багрепорт что не копируется utf8 в utf8. Причем, в самом багрепорте тоже баг, потому что в пункте 2 (insert) есть столбец PTX_VALUE, а больше его нигде нет - ни в таблице, ни в запросе. Я создал таблицу в базе utf8, вставил данные (воткнул русские буквы), создал процедуру - при выборке из процедуры НИКАКИХ ошибок нет. А вот если я в IBE в редакторе данных пытаюсь в столбце PTX_VALUE_UTF поменять русские буквы на 'plokštos siūles', то вылазит ошибка Implementation limit exceeded. block size exceeds implementation restriction. удалил запись, вставил с текстом plokštos siūles, выполняю селект из процедуры - ошибок нет. Вопросы 1. почему у меня на фб 2.5.5 тест-кейз работает НЕ ТАК (т.е. ошибок не выдает). 2. почему при update с русских букв на другие возникает implementation limit exceeded вероятно п.2 связан с IBExpert, т.к. Код: sql 1. 2. 3.
проходит. Следом Код: sql 1. 2. 3.
тоже проходит. И обратно (первый update) тоже проходит. Похоже, что Firebird тут как-то ни при чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 12:18 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
MarcelloБД в WIN1251. нет такого понятия. есть чарсет коннекта и чарсет столбца. "Чарсет БД" - это тот чарсет, который будет использован у строковых столбцов или переменных при создании таблиц, процедур и триггеров, если никакой другой чарсет при этом указан не был. Так что "чарсет БД" это типа "шаблон чарсета для столбцов и переменных, создаваемых без указания чарсета". p.s. за последние 10 дней я вроде бы это уже второй раз объясняю. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 12:21 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
kdv, сейчас в той таблице одна строка, которая с Plokštos siūles. В IBExpert пишу в поле (через встроенный редактор) "ёпрст" - ошибка "Implementation limit exceeded". Если делаю через стейтмент Код: sql 1.
, то все ок, ошибки нет. Похоже дело не FB. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 12:41 |
|
Помогите с UNICODE_FSS
|
|||
---|---|---|---|
#18+
Marcello, короче, implementation limit exceeded возникает в IBExpert когда с одних символов на другие меняешь запись прямо "в таблице", и у таблицы нет ПК. Код: sql 1. 2. 3.
облом. Создаем ПК для таблицы Код: sql 1. 2.
пытаемся поменять еще раз - проходит. как я уже писал выше, просто update в sql editor и так проходил без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 12:43 |
|
|
start [/forum/topic.php?fid=40&fpage=63&tid=1562299]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 272ms |
total: | 431ms |
0 / 0 |