|
|
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
Собственно такая проблема. База в UTF8. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Данный код возвращает для одной и той же строки разный размер char_length(). Причем если это происходит в ХП, то varchar(38) волшебным образом умещает в себе varchar(152). Кто-нибудь может знает почему? Дело в кривых руках или ошибка в FB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 16:33 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
RaxtaДело в кривых руках или ошибка в FB? если вопрос стоит именно так, то нафига сразу писать в трекер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 16:41 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
dimitr, наверное потому что трекер для того и нужен, что бы туда писать, а там разработчики решали, ошибка это или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 16:45 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
Raxta, вообще-то не так. Если ты уверен, что это баг, смело пиши в трекер. Если сомневаешься, спроси здесь, и только когда подтвердят, пиши в трекер. Иначе на фига ты этот вопрос здесь задал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 16:50 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
RaxtaКто-нибудь может знает почему? Только чайники не знают, что строковые литералы имеют тип CHAR. Так что расслабься, не ты первый, не ты последний. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 17:07 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> вообще-то не так. Вообще говоря - как раз так. Ибо про "здесь" знают не все, про наличие тут разработчиков - тем более. Ну а вкупе с годами культивировавшейся позицией "трекер всё стерпит"... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 19:09 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
Не важно в чём база. Важен чарсет коннекта. Если чарсет коннекта win1251, то выводится 36 36. Если чарсет коннекта utf8, то выводится 36 38. Если кто-то может это объяснить - велкам :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 19:28 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Бага. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 20:02 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
это баян на тему CHAR и UTF8 во внешнем АПИ, в трекере ищите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 20:53 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
Хорошо, раз это не баг и я, как это и предполагалось, чайник, ответьте, пожалуйста еще на такой вопрос. В описании к функции CHAR_LENGTH() сказано: "Gives the length in characters of the input string.". Тогда получается, у EXECUTE STATEMENT все равно не корректное поведение в том плане, что оно строку размерностью 38 увеличивает до строки размерностью 152 и заполняет пустое пробелами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 07:09 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
Все решилось логично :) Ошибка исправлена, войдет в 2.5.4. Ну а пока придется избегать в некоторых случаях EXECUTE STATEMENT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 07:53 |
|
||
|
EXECUTE STATEMENT изменяет длину строки в UTF8-базе
|
|||
|---|---|---|---|
|
#18+
и 2.1.7 (интереса ради?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 18:04 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=85&tid=1563199]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
24ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 409ms |

| 0 / 0 |
