powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / проблемка с формированием XML в PHP
12 сообщений из 12, страница 1 из 1
проблемка с формированием XML в PHP
    #38034058
ugodrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сегодня столкнулся с такой проблемой..
выгружаю данные примерно таким образом:
<tag1><?=$Val1;?></tag1>
<tag2><?=$Val2;?></tag2>
<tag3><?=$Val3;?></tag3>
<tag4><?=$Val4;?></tag4>
ну конечно не просто так... а значения через htmlspecialchars($Val)
по идее этого должно быть достаточно.. и всё работало..
обнаружилось следующее : кое-где в выгружаемых значениях встречается символ "Ø"..
и непонятно почему и каким образом скрипт на этом символе останавливается )))))
кто скажет почему? и как можно безболезненно стандартными функциями этот косяк исравить?

Самое интересное.. то, что нет ни ошибки.. НИЧЕГО...
символ стоит в середине строки и вывод прекращается именно на нём.
т.е. если строка "Болт Ø 15 мм"
результат - "Болт " и всё ))))
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034065
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ugodrus,

а куда выгружаете то?
в файл? в БД? в браузер?
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034069
ugodrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r u,

прямой вывод. в браузер. кодировка файла utf-8 формат файла соответствует спецификации commerceml от 1с.
данные берутся из базы. в базе всё хранится тоже в utf-8 преобразований практически нет.. кроме "экранирования" хтмл символов
на всякий случай... просто могут попадаться кое-где специфические символы.. это чтобы не нарушать xml 1.
PHP Version 5.2.17

самое интересное.. что если сделать print(htmlspecialchars(serialize($DATA))) выводимых данных.. то такого обрыва в обработке не будет.. проверял.
никак не пойму где собака зарыта (
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034078
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ugodrusскрипт на этом символе останавливаетсяКак именно останавливается? Нормально завершает работу, выдает ошибку (которую Вы не видите), выпадает в кору, что-то другое.
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034110
ugodrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

ошибок не выдает вообще
например
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034114
ugodrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
отправляю строку на вывод
$Val1 = "Болт Ø 15 мм";
<tag1><?=htmlspecialchars($Val1);?></tag1>
результат
<tag1>Болт
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034118
ugodrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тоесть если бы была ошибка то результат был бы таким примерно
<tag1>
затем пошел отчет об ошибке
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034348
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ugodrus,

посмотрите исходный код страницы в браузере. может там за открытым тегом чтото прячется
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034350
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кодировка везде правильно выставлена? Если везде в норме, то сделайте простой тестовый пример с иллюстрацией проблемы и приложите файл с примером к сообщению.
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034630
ugodrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

к сожалению уже не могу выложить пример. строки в базе , где данный символ присутствовал были исправлены. символ заменён на "d". проблемка возникла на работающем интернет магазине и требовала срочного исправления.
я бы может быть и не обращался бы здесь с таким вопросом.... но я боюсь что ситуация может повториться.

да и сама по себе ситуация странная... как только я убирал htmlspecialchars из предобработки вывода тоесть сделал так <tag1><?=$Val1;?></tag1> обрыва в работе не было. да и вообще когда я все данные сериализовывал (serialize) и отправлял их на вывод через htmlspecialchars то проблема тоже не наблюдалась - данные выходили в полном обьеме.

может быть я нарыл баг в пхп ))? может быть вообще все не только в этом символе .. может быть дело даже в последовательности символов. но знаю точно что всему виной стала именно функция htmlspecialchars.

может быть подскажете чем можно воспользоваться для экранизации подобных символов для выдачи в xml? желательно чтобы корректно работала с кирилицей т.е. не трансформировала /0-9a-zа-яё/i
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034688
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторможет быть я нарыл баг в пхп
может ты просто документацию не читал?
http://php.net/manual/ru/function.htmlspecialchars.php
...
Рейтинг: 0 / 0
проблемка с формированием XML в PHP
    #38034878
ugodrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow,

читал... и действие функции знаю )) уже больше 10 лет с пхп работаю... манипуляции с этой функцией ничего не дадут... зато (спасибо за совет) htmlentities($Val1,16,'UTF-8'); выдаёт то что надо
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / проблемка с формированием XML в PHP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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