|
|
|
как объявить функцию с текстовым блобом utf8 в качестве параметра?
|
|||
|---|---|---|---|
|
#18+
Хочу объявить функцию с входным параметром "текстовый blob типа UTF8", чтобы в неё можно было передать блоб любого чарсета, и чтобы я в UDF получил уже UTF8. Код: sql 1. 2. 3. 4. Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 2, column 10. sub_type. С varchar работает: Код: sql 1. 2. 3. 4. Код: sql 1. 2. 3. 4. И так работает: Код: sql 1. 2. 3. 4. FB 2.5.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2014, 02:19 |
|
||
|
как объявить функцию с текстовым блобом utf8 в качестве параметра?
|
|||
|---|---|---|---|
|
#18+
Типа в трекер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 00:54 |
|
||
|
как объявить функцию с текстовым блобом utf8 в качестве параметра?
|
|||
|---|---|---|---|
|
#18+
NickDee, в udf ты получаешь доступ к двоичному содержимому блоба, поэтому никакого utf и вообще чарсетов там нет и быть не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 01:54 |
|
||
|
как объявить функцию с текстовым блобом utf8 в качестве параметра?
|
|||
|---|---|---|---|
|
#18+
kdv, Я в dll хочу получить текст в UTF8, а не в том в чём передали. Придётся или кому-то сделать как положено, чтобы можно было написать так: Код: sql 1. или кому-то другому миллион раз кастовать тип параметра к чему нужно: Код: sql 1. Вместо F может быть любая функция для работы со строками большой длины, например которая считает кол-во вхождений подстроки, или просто пишет её куда-нибудь, не важно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 08:46 |
|
||
|
как объявить функцию с текстовым блобом utf8 в качестве параметра?
|
|||
|---|---|---|---|
|
#18+
NickDee, интерфейс у блоба внутри udf не имеет никакой информации о подтипе блоба, чарсете, и прочем. Там есть только общая информация, и ссылки на твои GetSegment/PutSegment, которые возвращают или передают ДВОИЧНУЮ информацию. В клиентском API, разумеется, информация о подтипе и чарсете есть. Но ее внутри udf ты использовать никак не можешь. Увы, облом. Так что максимум на что можешь расчитывать - это на Feature Request. Хотя я сомневаюсь, что тебе кто-нибудь будет внутри udf перекодировать эти сегменты. Так что все равно, даже если получишь (в будущем) информацию о чарсете блоба в udf, то будешь сам перекодировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 20:39 |
|
||
|
как объявить функцию с текстовым блобом utf8 в качестве параметра?
|
|||
|---|---|---|---|
|
#18+
kdv, У варчаров чарсет в udf тоже не передаётся, но с ними вышеописанной проблемы нет. А почему её нет? Потому что варчары перед передачей параметра в udf переводятся в чарсет указанный при декларировании функции. И для блобов не нужно чарсет передавать. Нужно дать возможность указать желаемый чарсет при создании функции, а движок пусть переводит в этот желаемый чарсет, как он делает это для блобов в хранимках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 06:34 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38788815&tid=1563241]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 376ms |

| 0 / 0 |
