Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / UTF8 при открытии файла sql скрипта в Skript Execute / 12 сообщений из 12, страница 1 из 1
19.04.2017, 13:51
    #39440891
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF8 при открытии файла sql скрипта в Skript Execute
Доброе время суток,

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

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

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

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

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

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

открывался через диалог (я видел что там есть указание формата). BOM походу не было, переконвертнул в notepad++ начал открывать без вопросов. Спасибо за наводку. Вопрос снят.
...
Рейтинг: 0 / 0
25.04.2017, 18:52
    #39444270
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF8 при открытии файла sql скрипта в Skript Execute
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
26.04.2017, 04:15
    #39444375
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF8 при открытии файла sql скрипта в Skript Execute
Фигню проверю.

Создай блок на сохранение и пропиши там 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
26.04.2017, 12:15
    #39444625
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF8 при открытии файла sql скрипта в Skript Execute
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
26.04.2017, 13:36
    #39444733
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF8 при открытии файла sql скрипта в Skript Execute
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
26.04.2017, 14:09
    #39444765
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF8 при открытии файла sql скрипта в Skript Execute
IBExpert,

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

end


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

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

сорри
...
Рейтинг: 0 / 0
26.04.2017, 15:10
    #39444811
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF8 при открытии файла sql скрипта в Skript Execute
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
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / UTF8 при открытии файла sql скрипта в Skript Execute / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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