AlexHog
User-
Posts
20 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by AlexHog
-
Добрый день. Существуют ли в php функции парсинга XML? Есть XML-файл данных, из него нужно построить модуль-навигатор по сайту - простой набор ссылок на подразделы. Во флэше я это сделал (example.rar 2кб), а как сделать на php? Только через функцию чтения файла и построчного его разбора?..
-
Добрый день. Скачал книжку в таком интересном формате, и мой Tom Reader с ним не справляется. Посоветовали WinDjView - он только под XP. А мне под 98 надо... Подскажите
-
Мда... спасибо)) скачал все, что были доступны; с fnt, к сожалению, не умеет работать ни одна... вообще, интересно: fnt и fon называют виндосовскими файлами шрифта, - а Винда их из папки Fonts решительно не читает
-
Добрый день. Делаю флешку по игре, в ней очень желателен оригинальный шрифт игры. Он есть, но формата .fnt, тогда как флеш позволяет встраивать только TrueType шрифты. Подскажите, можно ли сконвертировать .fnt => .ttf, и каким софтом (желательно легкодоступным, задача разовая, тратиться на диск неохота).
-
Боюсь, про это я вообще ничего не слышал В xml? в этом случае у меня вообще все ноды пустые, даже числовые/англоязычные. Почему-то XML требует непременно UTF-8...
-
О-о-о... /офигевает/ так тоже можно?... PS. поставил последнюю Оперу, попробовал, все равно не получилось =( ответ Оперы списал в файл, поменял в нем кодировку. Судя по ответу - данные, передаваемые серверу, либо теряются, либо неправильно читаются. Передается русский текст из трех полей ввода: IE работает как надо, Опера же читает и возвращает символы в UTF-8, и никак переубедить ее пока не удалось
-
Я же через XML передаю. header('Content-Type: text/xml'); echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
-
Так? указываю. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Название</title></head> "Вид => Настройки => Кириллица(Windows)"? Да.
-
Добрый день. Проблема следующая: пхп-скрипт генерирует XML, в один из узлов кладет русский текст, перекодив предварительно из Win-1251 в UTF-8, и отдает яваскрипту. Js принимает и парсит полученный XML и вполне себе корректно с ним работает. То есть я в IE6 вижу вс? нормально. Но люди под Оперой жалуются, что видят utf-овские кракозябры... Отчего это может быть и как это исправить?
-
У меня денвер, версия 4.4.4. и надстройка 5.0.4. В четверке iconv не работает; включил в php.ini - бестолку. В пятерке - работал изначально. Если ты видишь этот текст, с заполненным и закрытым - значит, скрипт работает правильно, xml валидный... вероятно, неправильно обрабатывается уже в яваскрипте. Мой рабочий пример - http://slil.ru/24440972
-
Так... у меня сработал такой скрипт (но я работаю с мускулом): <?php include "config.php"; header('Content-Type: text/xml'); echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; echo '<response>'; $name = 30; $query = mysql_query("SELECT po_ind, city FROM postoff WHERE po_ind LIKE '$name'"); while ($row = mysql_fetch_object($query)) { $text = "Это индекс города, " . $row->city . "!"; echo iconv("windows-1251", "utf-8", $text); } echo '</response>'; include "out.php"; ?> То есть, во первых, не забыть про iconv, во-вторых при выборке из базы указывать и тот параметр, по которому она производится =) Без него выборка будет нулевой. И тестируйте сначала "голый" пхп; если он отдаст правильный xml - только тогда переходите к аяксу... PS: да, в денвере с пхп-4.4.4 iconv почему-то не работает. Хотя по мануалу - должен с 4.0.5. Php_iconv.dll включен.
-
Ну... с первого взгляда - вы дважды задаете header и response =) До обращения к базе и после. дома посмотрю подробней...
-
_dreamer спасибо )) интересный способ, никогда не пользовался побайтным редактированием) попробую. Интересных проектов, увы, пока нет... тренируюсь только... В общем, проблема решена - Wordpad сохраняет в UTF-16, т.е. на каждый символ по два байта. теперь я прогоняю отдаваемый скриптом текст через перекодировку - $bufer2 = iconv ('cp1251', 'utf-8', $bufer); - и все работает.
-
спасибо )) В общем, похоже моя проблема в самом xml. Разобрал еще несколько примеров из книги - там, где его нет, все работает отлично. Буду читать. Спасибо, работает и по вашей ссылке, и на локалке =) Посмотрел на quickstart.php - у вас перекодированы только русские символы, вс? остальное без изменений. Когда я сохраняю свой php через Вордпад "как документ Unicode" - у меня получается такая вот лабуда: Естественно, такой пхп отказывается работать... то есть вообще не воспринимается системой и не обрабатывается как пхп. Чем можно корректно сохранять в UTF-8? Угум... не подскажете бесплатный хостинг с php и mysql? я пока нашел только 100mb.com, но он англоязычный.
-
Sectronix 404 not found =( Yarik Voronov Можно об этом подробнее? я правильно понял, что создание xml через echo - некорректный способ?
-
Здравствуйте. Видимо, проблема в моем браузере - в том, как он воспринимает приходящие xml-ы. Сделал след.код: <?php header('Content-Type: text/xml'); echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; echo '<response>'; $name = "Имя"; echo 'Здравствуйте, ' . $name . '!'; echo '</response>'; ?> Адрес скрипта (сохранен в кодировке win1251) - http://manuke.h18.ru/xml_test1.php Что вижу - Вариант скрипта - без первой строчки, хедера: http://manuke.h18.ru/xml_test1a.php Вижу - То есть тег response заполнен и закрыт, но заполнен абракадаброй. Первый вариант в кодировке Unocode: http://manuke.h18.ru/xml_test2.php Что вижу - Второй вариант в кодировке Unicode: http://manuke.h18.ru/xml_test2a.php Вижу то же самое. Результаты одинаковые и в Денвере, и на хостинге Агавы. Win98, IE6.0 SP1 Как это исправить? update: попробовал зайти по опубликованным ссылкам. Интересное наблюдение: с первого захода все отображается как надо, если перезагрузить страницу через F5 - опять та же бодяга...
-
Поменял в файле пхп в строчке - echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; - на windows-1251. При проверке пхп получаю то, что нужно: <?xml version="1.0" encoding="windows-1251" standalone="yes" ?> <response>Здравствуйте, alex!</response> При проверке хтмл - все работает совершенно правильно. Разумеется до тех пор, пока не ввожу русский шрифт И пока оба документа сохранены в виндовс-кодировке. При сохранении документов как Unicode - пхп выдает пустой экран, js глохнет на обработке xml, получаемого от пхп-скрипта. Независимо от того, какая кодировка задана xml-у в скрипте.
-
спасибо. Если сохранять через WordPad - это "документ Unicode"? сохранил пхп как Unicode, исправил ошибку в js-скрипте в функции handleServerResponse. Теперь выдает ошибку в строке 69 - на этой строчке: helloMessage = xmlDocumentElement.firstChild.data; Проверяю работу пхп-скрипта - на домашней машине не выдает вообще ничего, пустую страницу; на хостинге Агавы - страничку полную квадратиков с редкими вкраплениями вариантов ответов скрипта Пытаюсь переключить кодировку в браузере на UTF-8 - бестолку.
-
текст скриптов. хтмл: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns='http://www.w3.org/1999/xhtml'> <head> <title>AJAX & PHP</title> <script type='text/javascript' src='quickstart.js'></script> </head> <body onload='process()'> Сервер желает узнать ваше имя: <input type='text' id='myName' /> <div id='divMessage' /> </body> </html> js: var xmlHttp = createXmlHttpRequestObject(); function createXmlHttpRequestObject() { // alert (document.getElementById('myName').value); var xmlHttp; if(window.ActiveXObject) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { xmlHttp = false; } } else { try { xmlHttp = new XMLHttpRequest(); } catch(e) { xmlHttp = false; } } if(!xmlHttp) alert("Ошибка создания объекта"); else { // alert(xmlHttp.readyState); return xmlHttp; } } function process() { if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) { name = encodeURIComponent(document.getElementById('myName').value); xmlHttp.open('GET', 'quickstart.php?name=' + name, true); xmlHttp.onreadystatechange = handleServerResponse; xmlHttp.send(null); } else setTimeout('process()', 1000); } function handleServerResponse() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { xmlResponse = xmlHttp.responseXML; xmlDocumentElement = xmlResponse.documentElement; helloMessage = xmlDocumentElement.firstChild.data; document.getElementById('divMessage').innerHTML = '<i>' + helloMessage + '<i>'; setTimeout('process()', 1000); } else { alert('При обращении к серверу возникли проблемы: ' + xmlHttp.statusText); } } } php: <?php header('Content-Type: text/xml'); echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; echo '<response>'; $name = $_GET['name']; $userNames = array('ALEX', 'MARSYLIJ'); if (in_array(strtoupper($name), $userNames)) echo 'Здравствуйте, ' . htmlentities($name) . '!'; else if (trim($name) == '') echo 'Скажи мне, как зовут тебя, незнакомец!'; else echo htmlentities($name) . ' , вы мне не знакомы!'; echo '</response>'; ?>
-
Добрый день. Начинаю изучать ajax, пытаюсь выполнить учебный пример. В примере нужно создать три файла - html, js и php. Суть примера - пользователь вводит в поле ввода имя, яваскрипт отсылает введенный текст серверному скрипту, скрипт проверяет совпадение имени с одним из эл-тов массива. При совпадении отдает через xml один ответ, при несовпадении другой. Страница принимает ответ, обрабатывает xml и отображает текст в div-е. Текст скриптов ниже, пока суть проблемы: похоже, что либо не срабатывает функция, вызываемая через timeout - setTimeout('process()', 1000); - либо что-то не так с xml. Вставляю в процедуру обработки ответа сервера алерт, алерт молчит. Проверяю работу пхп-скрипта - получаю немножко не тот ответ, который дан в книге: вместо <response>Здравствуйте, аlex!</response> - получаю вот такое: В чем может быть дело, как это решать?