|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Камрады!!! суть проблемы следующая хочу в таблицу вставить данные посредством: insert into "TRAFFICTYPE" values (6,'Ляля тополя','8464122'); на что Интербейза отвечает мне: Arithmetic overflow or division by zero has occurred. arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets. ах да вот ышо структура таблицы какая SET SQL DIALECT 3; SET NAMES WIN1251; CREATE TABLE TRAFFICTYPE ( ID INTEGER NOT NULL, TRAFFICTYPENAME VARCHAR(50), "TrafficTypeCode" CHAR(7) ); Поможите люди добрые справица с этой инсинуацией Заранее благодарен, Четыреста третий фарбидден ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2002, 05:37 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Создавать так: CREATE TABLE TRAFFICTYPE ( ID INTEGER NOT NULL, TRAFFICTYPENAME VARCHAR(50) CHARACTER SET WIN1251 COLLATE PXW_CYRL, "TrafficTypeCode" CHAR(7) ); COLLATE PXW_CYRL - не обязательно Вставить так: insert into "TRAFFICTYPE" values (6,_win1251'Ляля тополя','8464122'); Но лучше при подключении указывать где-нибудь CHARACTER SET WIN1251 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2002, 10:24 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Чтоб не плодить аналогичные темы... Есть БД на ФБ 3.0 с кодировкой UTF8 (сама, и все char/varchar поля во всех таблицах). Есть приложение написанное на Delphi, при подключении к базе указываю чарсет как UTF8. Есть клиент, с русской Windows 10, который не может подключиться к базе, ловит ошибку Invalid connection string Cannot transliterate character between character sets. Хотя на других (моих) компьютерах (win 7, server 2008, win xp) программа подключается и работает так как надо. Куда копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 20:59 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim WooКуда копать? Нелатинские буквы в пути к базе. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 21:07 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
16 лет!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 23:28 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Напомните номер тикета, вроде был такой. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 09:04 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim Woo Invalid connection string Cannot transliterate character between character sets. doc\README.connection_string_charset.txt ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 10:47 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
hvlad, Правильно ли я понял суть проблемы: кодировка машины клиента не совпадает с кодировкой сервера, по этому передаваемый connection string конвертится и дает ошибку. Не могли бы вы по-русски объяснить, как и где мне указать isc_dpb_utf8_filename при коннекте? P.S. Проект написан на Delphi, коннект к базе через IBDatabase + IB компоненты. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 18:41 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim WooНе могли бы вы по-русски объяснить, как и где мне указать isc_dpb_utf8_filename при коннекте? Забей, это не работает ни в одной из существующих версий Firebird. Просто не клади базу в каталоги с нелатинскими именами. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 19:15 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Ну так база и так на сервере лежит в каталоге ТОЛЬКО с латинскими буквами, но ошибка все равно возникает. Приведу кусок кода, может быть вам чем-то поможет... Есть ini-файл, в котором прописан путь к базе. [BASE] path = xxx.xxx.xxx.xxx:\DataBase\MainDB.fdb Я этот путь достаю и передаю в Params у IBDatabase. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
На моменте Connected вылетает Exception с указанной ошибкой... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 19:41 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim WooНа моменте Connected вылетает Exception с указанной ошибкой... Значит ищи какую-то хрень в ON CONNECT/ON START TRANSACTION триггерах. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 20:01 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Может, ты из .ini "криво" читаешь. Посмотри в отладчике, чему DBPath равен. Код: pascal 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 20:43 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Фэйтл Эра, Путь читается верно. Я же говорю, у меня на 3-х разных ОС работает, а у пользователя с Win10 - нет. Значит ищи какую-то хрень в ON CONNECT/ON START TRANSACTION триггерах. А как посмотреть их? В IBExpert такое не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 20:58 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
upd Запустил виртуальную OS с пользователем "Администратор" - программа выдала: авторInvalid connection string Cannot transliterate character between character sets. В ней же создал пользователя "Admin" - программа заработала как надо. У клиента имя пользователя оказалось тоже на кириллице. Что это? И как это фиксить? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 21:19 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim Woo, значит это подтверждает предположение Димы о том что ты в ON CONNECT какую-то фигню написал. Скорее всего с обращение в MON$. Помниться был раньше такой баг ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 21:28 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Но в ON CONNECT я ничего не писал, более того, я даже не знаю как и где это посмотреть. =) База делалась при помощи IBExpert, соответственно и работаю с ней через нее же. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 21:30 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
trusted auth? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 21:58 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim WooПравильно ли я понял суть проблемы: кодировка машины клиента не совпадает с кодировкой сервера, по этому передаваемый connection string конвертится и дает ошибку.Не совсем правильно. Там же написано, что isc_dpb_utf8_filename указывает на то что все строки в DPB - в utf8:readmeThese rules are now valid for string DPB items too. Tim WooНе могли бы вы по-русски объяснить, как и где мне указать isc_dpb_utf8_filename при коннекте?Я понятия не имею, как твои компоненты заполняют DPB перед аттачем. Tim WooЗапустил виртуальную OS с пользователем "Администратор" - программа выдала: авторInvalid connection string Cannot transliterate character between character sets.Так ты trusted auth используешь ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 22:11 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЗабей, это не работает ни в одной из существующих версий Firebird.Не устал пальцем в небо тыкать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 22:12 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
hvladНе устал пальцем в небо тыкать ? Не хочу тебя расстраивать, но грабли вы зарыли совсем не в небе. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 23:06 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim Woo, еще осталось выяснить, Дельфи юникодная или нет (2009 и выше или нет). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 02:36 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
авторТак ты trusted auth используешь ? Нет. Я говорю о том, что если имя учетной записи самой ОС содержит не ANSII символы (в моем случае "Администратор"), то при запуске приложения клиента при подключении к базе указав логин/пароль SYSDBA/masterkey возникает ошибка. А вот если создать в ОС учетку с именем например Admin, и при подключении к базе указав логин/пароль SYSDBA/masterkey все работает замечательно. авторДельфи юникодная или нет (2009 и выше или нет). Delphi 10.1 Berlin ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 11:39 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim Woo, покажи в каком порядке плагины аутентификации перечислены ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 11:46 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
firebird.conf авторAuthServer = Legacy_Auth, Srp, Win_Sspi AuthClient = Legacy_Auth, Srp, Win_Sspi Вы про это? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 12:09 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Можешь попробовать клиента от 2.5 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 12:17 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim Woo, ну хорошо. Создаем пустую базу в utf8, и пишем примитивное приложение, где только коннект к БД теми же компонентами и настройками. Запускаем с этого же компьютера. Ошибка есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 12:18 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
hvladМожешь попробовать клиента от 2.5 ?И, отдельно, попробовать коннект с помощью isql ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 12:47 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
FB 2.5 -> результат тот же isql -> результат тот же Создал локально базу в UTF8, накидал приложение в дельфи. База подключается из-под обоих учеток ОС (Администратор и Admin). Делаю транспортный бэкап, кидаю эту базу на сервер, распаковываю бэкап и: Администратор -> инвалид коннекшн (везде: isql, IBExpert, delphi) Admin -> подключается легко. -_- ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 13:13 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim WooСоздал локально базу в UTF8, накидал приложение в дельфи. База подключается из-под обоих учеток ОС (Администратор и Admin).Тут речь о работе на одном хосте, так ? Tim WooДелаю транспортный бэкап, кидаю эту базу на сервер, распаковываю бэкапБекап тут был не нужен, ну да ладно. Кто такой "сервер" в этом предложении ? Какая локаль у машины с проблемным клиентом и какая - у машины, где запущен сервер Firebird ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 13:17 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
При размещении базы на localhost все работает. При размещении базы на удаленном компьютере (сервер на MS Server 2008 с FB 3.0.4) работает только у Admin. Клиент и сервер находятся в разных локальных сетях. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 13:27 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
upd Локали клиента и сервера различались. (Россия и USA) Поменял на сервере тоже на Россию, все заработало, по крайней мере у меня на виртуалке... Буду теперь ждать ответа от проблемного клиента, что он скажет. Может быть у кого еще теперь отвалится программа из-за локали :D ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 13:50 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim WooПоменял на сервере тоже на Россию, все заработалоЭто и была причина ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 14:08 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Как я и сказал: Firebird не умеет работать с не-ANSI именами. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 14:10 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovКак я и сказал: Firebird не умеет работать с не-ANSI именами.И это полуправда. Как это обычно и бывает с твоими "откровениями". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 14:13 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
У клиента тоже заработало! Всем огромное спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 15:56 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Tim Woo, но что это было, так и не выяснили. Какой ТОЧНО путь к базе и имя базы? А то вот это path = xxx.xxx.xxx.xxx:\DataBase\MainDB.fdb явно с ошибкой написано. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 16:56 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
kdvно что это было, так и не выяснили.Выяснили - имя пользователя OS. Начиная с fb3, fbclient переводит его в utf8 перед тем как отправить по сети в момент коннекта. Затем сервер транслирует его из utf8 в системный чарсет. Тут и возникает ошибка транслитерации, если имя содержит символы, отсутствующие в системном чарсете сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 17:14 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
hvladЗатем сервер транслирует его из utf8 в системный чарсет. Интересно зачем он это делает. Я понимаю, что старый код прошлого века перепахивать это прорва работы, но писать новый код без оглядки на юникодность... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 17:26 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovhvladЗатем сервер транслирует его из utf8 в системный чарсет. Интересно зачем он это делает. http://tracker.firebirdsql.org/browse/CORE-3943 Dimitry SibiryakovЯ понимаю, что старый код прошлого века перепахивать это прорва работы, но писать новый код без оглядки на юникодность...В где ты тут нашёл новый код ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 17:33 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
hvlad http://tracker.firebirdsql.org/browse/CORE-3943 Поля таблиц мониторинга разве не с unicode_fss объявлены в тройке (utf-8 в четвёрке)?.. hvladВ где ты тут нашёл новый код ? В таблицах мониторинга. Они появились только в этом веке. Как и код, который принудительно преобразует все строки в DPB в utf-8 перед отправкой на сервер. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 18:04 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, про мониторинг - не ко мне вопрос. Про строки в DPB - здесь другой случай, из прошлого века. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 19:08 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
hvladПро строки в DPB - здесь другой случай, из прошлого века. Э, нет, в прошлом веке они вообще не интерпретировались никак. А вот начиная с 2.5 клиент начал некоторые тэги принудительно конвертировать в utf-8, так что сервер начал получать sys_user_name исключительно в utf-8 задолго до того, как в MON$ATTACHMENTS отрос MON$REMOTE_OS_USER. Это, конечно, тоже уже чертовски давно, но и далеко не прошлый век. Отмазка насчёт legacy code не прокатит. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 19:59 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, CNCT_user не передаётся по сети с DPB. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 20:25 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovсервер начал получать ... исключительно в utf-8 никакой исключительностью тут не пахнет. С сервером может разговаривать как старый fbclient, так и вообще не fbclient. Которые могут спокойно пихать все в системной кодировке. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 09:50 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
dimitrникакой исключительностью тут не пахнет. С сервером может разговаривать как старый fbclient, так и вообще не fbclient. Которые могут спокойно пихать все в системной кодировке. А не происходит ли это вследствие отсутствия опубликованной чёткой спецификации протокола?.. Поддержка 2.5 в котором появился utf-8 уже подходит к концу, а более старые версии и вовсе давно дропнуты. Какой смысл говорить о них? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 14:33 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, я говорю о клиентах, а не о сервере. Их много, куча из них легаси (включая старые версии Jaybird и .NET), ничего не знают о поддержке UTF8 и никогда не будут его пользовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 20:03 |
|
Cannot transliterate character between character sets.
|
|||
---|---|---|---|
#18+
dimitrя говорю о клиентах, а не о сервере. И я говорю о клиентах. При выходе тройки их всех уже обломали, поставив WireCrypt в Required по дефолту на сервере. Осталось сделать ещё маленький шажок и отбить поддержку протоколов из 2.1 и старше, чтобы "спокойно пихающие" шли лесом читать спецификацию, в которой чётко написано "такие-то строки передаются на сервер в кодировке utf-8". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 20:21 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560919]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 443ms |
0 / 0 |