Страница 1 из 1

Кодировка

Добавлено: 20 ноя 2020, 12:14
khalex
Доброго.

Как я понимаю, FM не знает что такое "windows-1251" и т.п. А есть желание подхватывать XML файлы в этой кодировке... Возможно кто-то знает или решал уже эту проблему?

Спасибо

Re: Кодировка

Добавлено: 20 ноя 2020, 21:52
Alexei Sytch
Добрый вечер, khalex
попробуйте поместить файл в контейнер, конвертнуть кодировку и экспортировать для дальнейшего импорта. Немжноко "непрямой путь" но работает на небольших файлах

Код: Выделить всё

TextDecode ( table::container ; "windows-1251" ) 
Преобразовывает текстовый файл в поле контейнера из указанной кодировки символов в текст в кодировке UTF-16LE, которая используется FileMaker. Работает только с контейнером, не с текстовым полем (Fmp 16+)

Re: Кодировка

Добавлено: 21 ноя 2020, 05:44
khalex
Не совсем то, что нужно, но уже что-то, спасибо. По этому пути нужно еще, как я понимаю , править XML текст в файле и менять в нем все encoding="windows-1251" на encoding="UTF-8" :(

Re: Кодировка

Добавлено: 21 ноя 2020, 13:42
Nicolai Kant
Как вы импортируете XML файлы? В XSLT можно указать энкодинг на выходе: <xsl:output method="xml" encoding="UTF-8"/>

По идее процессор должен конвертировать, стоит попробовать.

Другая идея, если TextDecode не работает для вас, можно попробовать какую нибудь JavaScript библиотеку в вебвюэре.

windows-1251.js на GIT или npm, может конвертировать из windows-1251, и очень проста в использовании

Re: Кодировка

Добавлено: 21 ноя 2020, 20:10
Alexei Sytch
Если есть возможность, пришлите пример файла.

Re: Кодировка

Добавлено: 22 ноя 2020, 14:54
Alexei Sytch
По этому пути нужно еще, как я понимаю , править XML текст в файле и менять в нем все encoding="windows-1251" на encoding="UTF-8" :(
Да, на UTF-8 или UTF-16. Если кодировка файла UTF-8, то и описание кодировки в самом файле encoding="UTF-8". Заменить можно, например

Код: Выделить всё

Substitute ( TextDecode ( table::container ; "windows-1251" ) ; "windows-1251" ; "UTF-8" )
а потом экспорт содержимого контейнера в xml файл.
Для последующего импорта xml файла еще нужен будет xsl style sheet. У меня на моем тестовом файле сработало

Re: Кодировка

Добавлено: 22 ноя 2020, 18:09
Nicolai Kant
А есть желание подхватывать XML файлы в этой кодировке
Как вы загружаете XML? FileMaker XML импорт с XSLT? Не пробовали поменять кодировку на выходе в <output> таге?

Другая вариант использовать одну из JavaScript библиотек, например windows-1251.js