Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
Я буду благодарен за пример усовершенствования кода. Полагаю, что данные нам присылают в XML-формате, потому что именно о нём постоянно упоминается в руководстве. Но это не имеет теперь никакого значения, т. к. файлы мы успешно принимаем и обрабатываем. И, кстати, сохраняем на память именно в поле типа xml. Видимо, сервер сам умело управляется с заголовком. Проблема была в том, что и мы самонадеянно хотели сохранить у себя отправляемый файл тоже в поле типа xml. Но нас вполне устраивает и хранение в varchar(max). По крайней мере, тестовый ответ тоже был благополучно принят в ЦБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 16:10 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
если вы не поймёте что "xml-формат" не равно "текстовый файл" , то всякие "улучшения" кода вам не помогут. Пы.Сы. вот почему моё мнение что, неявная конвертация типов в ms sql зло )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 16:19 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
ТС, возьмите XMLSpy и делайте со своими xml-файлами что хотите и как хотите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 16:20 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
Гигабайт Мегабайтович КилобайтовArkadyL@ES550PFile - в этой переменной имя файла, и он XML, считывается из заданного каталога. А отправляет их собственными руками наш сотрудник из личного кабинета банка. в файле, в текстовом формате записаны данные, которые могут представлены в xml-формате ( а могут быть и не представлены) . xml - это не файл , это формат данных, а вот в чем он храниться - тут возможны варианты )) у вас по факту - в каталоге хранятся файлы, по всей видимости в текстовом представление, в который записаны данные в xml-формате( как то коряво написал, но если не понятно спросите попробую по другому написать) . Я, конечно, не теоретик, но хоть в чём-то ЦБ нам врать не будет автор3. Структура наименования, структуры и форматы электронного сообщения 3.1. Электронное сообщение, содержащее информацию о случаях отказа в выполнении распоряжения клиента о совершении операции, случаях отказа от заключения договоров банковского счета (вклада), случаях расторжения договоров банковского счета (вклада) с клиентом (далее - ЭС), предусмотренное Положением Банка России N 550-П, формируется Банком России в виде файла формата XML в кодировке UTF-8 (первая строка файла имеет следующий вид: <?xml version="1.0" encoding="UTF-8"?>, при этом допустимо любое значение регистра при указании кодировки "UTF-8"). Другие системы могут же формировать XML в такой кодировке. Именно эти файлы и списываем мы себе для последующей обработки. И, повторяю, SQL Server прекрасно считывает и разбирает этот файл командами, предназначенными для работы с данными формата xml. Также этот файл сохраняется в поле типа xml (видимо, сервер сам управляется с заголовком). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 09:30 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
ArkadyLГигабайт Мегабайтович Килобайтовпропущено... в файле, в текстовом формате записаны данные, которые могут представлены в xml-формате ( а могут быть и не представлены) . xml - это не файл , это формат данных, а вот в чем он храниться - тут возможны варианты )) у вас по факту - в каталоге хранятся файлы, по всей видимости в текстовом представление, в который записаны данные в xml-формате( как то коряво написал, но если не понятно спросите попробую по другому написать) . Я, конечно, не теоретик, но хоть в чём-то ЦБ нам врать не будет автор3. Структура наименования, структуры и форматы электронного сообщения 3.1. Электронное сообщение, содержащее информацию о случаях отказа в выполнении распоряжения клиента о совершении операции, случаях отказа от заключения договоров банковского счета (вклада), случаях расторжения договоров банковского счета (вклада) с клиентом (далее - ЭС), предусмотренное Положением Банка России N 550-П, формируется Банком России в виде файла формата XML в кодировке UTF-8 (первая строка файла имеет следующий вид: <?xml version="1.0" encoding="UTF-8"?>, при этом допустимо любое значение регистра при указании кодировки "UTF-8"). Другие системы могут же формировать XML в такой кодировке. Именно эти файлы и списываем мы себе для последующей обработки. И, повторяю, SQL Server прекрасно считывает и разбирает этот файл командами, предназначенными для работы с данными формата xml. Также этот файл сохраняется в поле типа xml (видимо, сервер сам управляется с заголовком). таки такое написание принято "фомата xml", хотя правильное написание "формата данных xml" потому что буквально - формата файла типа хмл - нет и не может быть. а вот в том что "обрабатывает" вы не правы, потому что у вас сначала файл читается в текстовую переменную (тут никакого хмл нет), а потом неявно конвертируется в xml. Правила конвертации из текстового формата в xml определены самими разработчиками sql server'а. а по факту у вас происходит конвертация как раз в формат xml того типа, который может понимать сервер. т.е. у вас получается такая цепочка - текстовый файл с содержимым в формате xml-> текстовая переменная с содержимым в формате xml -> не явная конвертация из типа данных "текст" в тип данных "xml" c одновременной сменой кодировки xml с utf8 на utf16 . если вы внимательно посмотрите на приведенные вами же примеры по тому, как вы читаете эти файлы вы сами всё это там увидите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 12:19 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
ArkadyL, а вот разработчики ms sql решили поддерживать "внутри" сервера только utf16, ибо он покрывает остальные кодировки, а определение конечной кодировки оставить на стороне клиента, т.е. финальную конвертацию в нужную кодировку должен делать клиент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 12:22 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
Гигабайт Мегабайтович КилобайтовArkadyL, а вот разработчики ms sql решили поддерживать "внутри" сервера только utf16, ибо он покрывает остальные кодировки, а определение конечной кодировки оставить на стороне клиента, т.е. финальную конвертацию в нужную кодировку должен делать клиент. Не правда ваша... https://docs.microsoft.com/ru-ru/sql/relational-databases/xml/create-instances-of-xml-data ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 16:51 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
blonduserГигабайт Мегабайтович КилобайтовArkadyL, а вот разработчики ms sql решили поддерживать "внутри" сервера только utf16, ибо он покрывает остальные кодировки, а определение конечной кодировки оставить на стороне клиента, т.е. финальную конвертацию в нужную кодировку должен делать клиент. Не правда ваша... https://docs.microsoft.com/ru-ru/sql/relational-databases/xml/create-instances-of-xml-data давайте конкретно где я не прав? )) таки не увидел противоречий )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 16:56 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
SQL Server внутренне представляет XML в эффективном двоичном представлении, использующем кодировку UTF-16. Пользовательская кодировка не сохранена, но она учитывается в процессе синтаксического анализа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 16:56 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
SQL Server хранит XML-данные в кодировке Юникод (UTF-16). XML-данные, извлекаемые из баз данных сервера, предоставляются в кодировке UTF-16. Если требуются данные в другой кодировке, извлеченные данные нужно преобразовать. https://docs.microsoft.com/ru-ru/sql/relational-databases/xml/load-xml-data ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 16:58 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
Konst_One SQL Server хранит XML-данные в кодировке Юникод (UTF-16). XML-данные, извлекаемые из баз данных сервера, предоставляются в кодировке UTF-16. Если требуются данные в другой кодировке, извлеченные данные нужно преобразовать. https://docs.microsoft.com/ru-ru/sql/relational-databases/xml/load-xml-data Следующая строка... "Иногда XML-данные могут быть представлены в другой кодировке." И дальше расписывается пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:05 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
ну так вы дочитайте до конца =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:09 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
Konst_One, Вот исходный пример и он отработал без ошибок. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:18 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
blonduserKonst_One SQL Server хранит XML-данные в кодировке Юникод (UTF-16). XML-данные, извлекаемые из баз данных сервера, предоставляются в кодировке UTF-16. Если требуются данные в другой кодировке, извлеченные данные нужно преобразовать. https://docs.microsoft.com/ru-ru/sql/relational-databases/xml/load-xml-data Следующая строка... "Иногда XML-данные могут быть представлены в другой кодировке." И дальше расписывается пример. а вы контекст этого абзаца не забыли ?)) это уточнение относиться к загружаемым данным , т.е. это данные вне внутреннего формата хранения. таки да вне они могут быть любым форматом. и потом раскрывается как их правильно прочитать, что-бы правильно сохранить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:19 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
blonduser, ну и что? к чему этот ваш код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:20 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
Konst_One, С этого примера Автор начал свой вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:22 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
blonduserKonst_One, С этого примера Автор начал свой вопрос. видимо вы не поняли вопрос автора и код ваш отличается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:22 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
blonduserKonst_One, Вот исходный пример и он отработал без ошибок. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. выделил ключевой момент вот тут происходит преобразование из varchar в xml. и сразу два вопроса 1) а почему вы считаете что в переменной @xml у вас не utf-16 2) и где после конвертации у вас находиться Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:23 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
Гигабайт Мегабайтович КилобайтовblonduserKonst_One, Вот исходный пример и он отработал без ошибок. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. выделил ключевой момент вот тут происходит преобразование из varchar в xml. и сразу два вопроса 1) а почему вы считаете что в переменной @xml у вас не utf-16 2) и где после конвертации у вас находиться Код: plaintext не выделилось - вот ключевой момент - CAST(@var AS XML) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:24 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
Гигабайт Мегабайтович Килобайтов, Вот цитата автора. ArkadyLЯ буду благодарен за пример усовершенствования кода. ... Но нас вполне устраивает и хранение в varchar(max). По крайней мере, тестовый ответ тоже был благополучно принят в ЦБ. Внутри SQL тип XML как юникод. Но насколько я понял, главная цель была отправить в кодировки UTF-8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:34 |
|
||
|
Ошибка при формировании XML UTF-8
|
|||
|---|---|---|---|
|
#18+
blonduserГигабайт Мегабайтович Килобайтов, Вот цитата автора. ArkadyLЯ буду благодарен за пример усовершенствования кода. ... Но нас вполне устраивает и хранение в varchar(max). По крайней мере, тестовый ответ тоже был благополучно принят в ЦБ. Внутри SQL тип XML как юникод. Но насколько я понял, главная цель была отправить в кодировки UTF-8. эт ты куда накопал )) тут сейчас не об этом, с тем он давно уже справился. Но сейчас объясняю как это всё работает "там внутрях", чтоб потом человек когда ему что-то ещё понадобиться делать с хмл, сам понимал что делает. а то он даже не понимает что происходит, когда у них импортятся файлы в систему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:39 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1690016]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 363ms |

| 0 / 0 |
