|
|
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
Сегодня столкнулся с такой проблемой.. выгружаю данные примерно таким образом: <tag1><?=$Val1;?></tag1> <tag2><?=$Val2;?></tag2> <tag3><?=$Val3;?></tag3> <tag4><?=$Val4;?></tag4> ну конечно не просто так... а значения через htmlspecialchars($Val) по идее этого должно быть достаточно.. и всё работало.. обнаружилось следующее : кое-где в выгружаемых значениях встречается символ "Ø".. и непонятно почему и каким образом скрипт на этом символе останавливается ))))) кто скажет почему? и как можно безболезненно стандартными функциями этот косяк исравить? Самое интересное.. то, что нет ни ошибки.. НИЧЕГО... символ стоит в середине строки и вывод прекращается именно на нём. т.е. если строка "Болт Ø 15 мм" результат - "Болт " и всё )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 08:36 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
ugodrus, а куда выгружаете то? в файл? в БД? в браузер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 08:49 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
r u, прямой вывод. в браузер. кодировка файла utf-8 формат файла соответствует спецификации commerceml от 1с. данные берутся из базы. в базе всё хранится тоже в utf-8 преобразований практически нет.. кроме "экранирования" хтмл символов на всякий случай... просто могут попадаться кое-где специфические символы.. это чтобы не нарушать xml 1. PHP Version 5.2.17 самое интересное.. что если сделать print(htmlspecialchars(serialize($DATA))) выводимых данных.. то такого обрыва в обработке не будет.. проверял. никак не пойму где собака зарыта ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 09:04 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
ugodrusскрипт на этом символе останавливаетсяКак именно останавливается? Нормально завершает работу, выдает ошибку (которую Вы не видите), выпадает в кору, что-то другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 09:17 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
vkle, ошибок не выдает вообще например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 09:50 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
отправляю строку на вывод $Val1 = "Болт Ø 15 мм"; <tag1><?=htmlspecialchars($Val1);?></tag1> результат <tag1>Болт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 09:52 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
тоесть если бы была ошибка то результат был бы таким примерно <tag1> затем пошел отчет об ошибке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 09:54 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
ugodrus, посмотрите исходный код страницы в браузере. может там за открытым тегом чтото прячется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 12:21 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
Кодировка везде правильно выставлена? Если везде в норме, то сделайте простой тестовый пример с иллюстрацией проблемы и приложите файл с примером к сообщению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 12:23 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
vkle, к сожалению уже не могу выложить пример. строки в базе , где данный символ присутствовал были исправлены. символ заменён на "d". проблемка возникла на работающем интернет магазине и требовала срочного исправления. я бы может быть и не обращался бы здесь с таким вопросом.... но я боюсь что ситуация может повториться. да и сама по себе ситуация странная... как только я убирал htmlspecialchars из предобработки вывода тоесть сделал так <tag1><?=$Val1;?></tag1> обрыва в работе не было. да и вообще когда я все данные сериализовывал (serialize) и отправлял их на вывод через htmlspecialchars то проблема тоже не наблюдалась - данные выходили в полном обьеме. может быть я нарыл баг в пхп ))? может быть вообще все не только в этом символе .. может быть дело даже в последовательности символов. но знаю точно что всему виной стала именно функция htmlspecialchars. может быть подскажете чем можно воспользоваться для экранизации подобных символов для выдачи в xml? желательно чтобы корректно работала с кирилицей т.е. не трансформировала /0-9a-zа-яё/i ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 14:08 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
авторможет быть я нарыл баг в пхп может ты просто документацию не читал? http://php.net/manual/ru/function.htmlspecialchars.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 14:30 |
|
||
|
проблемка с формированием XML в PHP
|
|||
|---|---|---|---|
|
#18+
ScareCrow, читал... и действие функции знаю )) уже больше 10 лет с пхп работаю... манипуляции с этой функцией ничего не дадут... зато (спасибо за совет) htmlentities($Val1,16,'UTF-8'); выдаёт то что надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 15:58 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38034069&tid=1464438]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 446ms |

| 0 / 0 |
