powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / UTF8 при открытии файла sql скрипта в Skript Execute
12 сообщений из 12, страница 1 из 1
UTF8 при открытии файла sql скрипта в Skript Execute
    #39440891
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток,

текстовики SQL хранятся в UTF8, когда открываю их в Skript Execute IBExpert предлагает перегрузить их в UTF8. Можно это как то сделать по умолчанию для определённой базы? т.к. все скрипты зранятся в utf8.
В настройках среды Default Character Set стоит UTF8. Default execute charset тоже UTF8. В свойствах базы тоже Charset UTF8 Больше вроде нигде не нашел.

Спасибо.
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39440973
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в чем проблема-то? Перегрузить как UTF8 предлагает, если открываешь как ANSI.
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39441009
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

в том что спрашивает каждый раз, хорошо бы открывала в utf8 без вопросов.
Можно в настройках самой базы кодировку по умолчанию для открытия файлов выставить. Тогда если BOM прошла проверка и эта настройка стоит можно и не спрашивать и открывать в utf8. Не то что бы это сильно жить мешало но как то напрягает немного.
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39441035
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkoв том что спрашивает каждый раз, хорошо бы открывала в utf8 без вопросов.

Файл как именно открывается? Через диалог или еще как?

Mikhail TchervonenkoМожно в настройках самой базы кодировку по умолчанию для открытия файлов выставить. Тогда если BOM прошла проверка и эта настройка стоит можно и не спрашивать и открывать в utf8.

А BOM-то есть в твоих скриптах?
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39441079
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

открывался через диалог (я видел что там есть указание формата). BOM походу не было, переконвертнул в notepad++ начал открывать без вопросов. Спасибо за наводку. Вопрос снят.
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39444270
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

чёт какая то фигня творится, в сегодняшнем обновлении что то с кодировками меняли?
при сохранении слетает кодировка у файла

по порядку:
открываю файл, изменяю и сохраняю как с явным указанием UTF-8 (with BOM)
закрываю редактор
открываю снова редактор и файл с опцией Autodetect (using BOM)
открывается нормально все тексты отображаются как ожидалось
вношу изменения и сохраняю через Ctrl+S
всё сохранилось в ANSI

вытаскиваю обратно файл из SVN открываю, всё в порядке,
сохраняю как с явным указанием UTF-8 (with BOM)
закрываю редактор
открываю снова редактор и файл с опцией Autodetect (using BOM) всё нормально
вношу изменения и сохраняю через Ctrl+S
опять всё сохранилось в ANSI

получается при открытии через Autodetect (using BOM) первое сохранение надо всегда делать с явным указанием UTF-8 (with BOM), потом Ctrl+S не портит кодировку. Так вроде не было? или?

Win 10 Pro немецкая

тестовый файл прилагаю
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39444375
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фигню проверю.

Создай блок на сохранение и пропиши там UTF8 c BOM:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
15. Code Editors: 

   * "Code editor before save to file" event block implemented. This block is fired directly
     before IBExpert saves editor's content into a file and before "Save To File" dialog appears.
     Within the block user may change target file name, file encoding (ANSI/UTF8, with or without BOM),
     cancel saving and supress Save dialog. See block template for more information.
     Event blocks can be created/edited from the context menu of Scripts/Blocks tree of the
     DB Explorer. 
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39444625
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

ссылка на архив с примерами блоков http://www.ibexpert.com/download/other_files/
на странице доки http://ibexpert.net/ibe/index.php?n=Doc.IBEBlockExamples
битая,

есть пример подобного блока?

среди примеров что в инсталляции с IBExpert подобного не нашел
не совсем понятно какой ActionID и SelectedTypes[0] у этого события и какие переменные с кодировкой (а заодно интересно и с именем файла) устанавливать и где кроме этой ссылки http://ibexpert.net/ibe/index.php?n=Doc.IBEBlock об этом можно подробнее узнать

спасибо
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39444733
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkoесть пример подобного блока?


Ты пробовал создавать этот блок? "Event blocks can be created/edited from the context menu of Scripts/Blocks tree of the DB Explorer."
При создании там должен загрузиться шаблон:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
execute ibeblock (
  DatabaseID variant comment 'Internal ID (within IBExpert) of the database associated to the Code Editor
                              (can be NULL or 0 if not assigned)',
  CodeEditor variant comment 'Code Editor object (pointer), reserved for future use',
  ObjectEditor variant comment 'Object Editor object(pointer), parent form of the Code Editor',
  TargetDirectory variant comment 'Initial directory for Save As dialog. User may change it within the block, affects only Save As dialog',
  TargetFileName variant comment 'Target file name. User may change it within the block',
  SaveEncoding integer comment 'Encoding of target file. Possible values are __feANSI, __feUTF8, __feUTF8_BOM, __feUTF16, __feUTF16_BOM.
                                User may overwrite this within the block',
  IsQuickSave boolean comment 'Indicates if there is Quick Save action performed',
  Flags variant comment 'Some additional flags which are represented as set of chars')
RETURNS (
  CancelSave boolean = FALSE comment 'If TRUE, saving will be canceled',
  CancelSaveDialog boolean = FALSE comment 'If TRUE, Save As dialog will not appear')
as
begin
  Exit;

  -- Below is a simple example of possible usage
  if (IsQuickSave) then
  begin
    iObjType = ibec_ibe_GetObjectEditorProp(ObjectEditor, 'ObjectType');
    if (iObjType = __dboProcedure) then
    begin
      sObjName = ibec_ibe_GetObjectEditorProp(ObjectEditor, 'ObjectName');
      TargetFileName = 'D:\QuickSave\Procedures\' || sObjName || '.sp';
      SaveEncoding = __feUTF8;
    end;
  end;
end
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39444765
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

зашел в дерево базы,
на ветке скриптов правой клавишей выбрал "New Script/Block/Webform"
Эксперт спросил о создании таблицы для хранения блоков, сделал commit
и вот такой блок открылся:
Код: sql
1.
2.
3.
4.
5.
execute ibeblock
as
begin

end


или это где то в другом месте?
у меня в дереве базы только Scripts ветка есть
ветки с названием "Scripts/Blocks" нет
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39444769
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko,

нашел, вверху совсем

сорри
...
Рейтинг: 0 / 0
UTF8 при открытии файла sql скрипта в Skript Execute
    #39444811
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

сделал так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
execute ibeblock (
  DatabaseID variant comment 'Internal ID (within IBExpert) of the database associated to the Code Editor
                              (can be NULL or 0 if not assigned)',
  CodeEditor variant comment 'Code Editor object (pointer), reserved for future use',
  ObjectEditor variant comment 'Object Editor object(pointer), parent form of the Code Editor',
  TargetDirectory variant comment 'Initial directory for Save As dialog. User may change it within the block, affects only Save As dialog',
  TargetFileName variant comment 'Target file name. User may change it within the block',
  SaveEncoding integer comment 'Encoding of target file. Possible values are __feANSI, __feUTF8, __feUTF8_BOM, __feUTF16, __feUTF16_BOM.
                                User may overwrite this within the block',
  IsQuickSave boolean comment 'Indicates if there is Quick Save action performed',
  Flags variant comment 'Some additional flags which are represented as set of chars')
RETURNS (
  CancelSave boolean = FALSE comment 'If TRUE, saving will be canceled',
  CancelSaveDialog boolean = FALSE comment 'If TRUE, Save As dialog will not appear')
as
begin

  if (ibec_Pos('UTF8',TargetDirectory)>0) then
      SaveEncoding = __feUTF8_BOM;

end



привязываться пришлось к папке т.к. никакой другой связи скрипта с базой здесь скорее всего не установить.
по крайней мере в голову не пришло.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / UTF8 при открытии файла sql скрипта в Skript Execute
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]