1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Проблема кодировки Javascript + Ajax + Xml + Php

Тема в разделе "Web - программирование", создана пользователем Reverent, 29 июн 2007.

  1. Reverent

    Reverent Гость

    Репутация:
    0
    Здравствуйте.
    Недавно стал разрабатывать систему обработки и добавления шаблонов на сайт и столкнулся с такой проблемой.
    Создаю запрос через XMLHttpRequest на страницу с кодом PHP. Который генерирует XML код. Который в последствии будет обрабатываться JavaScript’ом. Но почему-то не могу получить данные в русской кодировке.
    Пишу следующий код в начале php файла:
    Код:
    header("Content-Type: text/html; charset=windows-1251");
    Все начинает работать, пока не добавляю эту строку:
    Код:
    header("Content-type: application/xml");
    Тогда добавляю еще и эту:
    Код:
    echo '<?xml version="1.0" encoding="WINDOWS-1251" ?>';
    Но это не приводит к положительному результату, кодировка все равно не меняться и остается «корявой».
    Причем проблема заключается еще в том, что этот проект предназначен для Испанской фирмы, которая будет использовать Английский и соответственно свой родной язык.
    Помогите, кто может!!!
     
  2. Gisma

    Gisma Гость

    Репутация:
    0
    используй utf-8
     
  3. Reverent

    Reverent Гость

    Репутация:
    0
    <!--QuoteBegin-Gisma+30:06:2007, 07:20 -->
    <span class="vbquote">(Gisma @ 30:06:2007, 07:20 )</span><!--QuoteEBegin-->используй utf-8
    [snapback]70925" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Когда я захожу в блокнот и сохраняю эту страницу в кодировке UTF-8 то PHP жалуеться, что заголовки уже посланы, хотя по сути они у меня стоят первыми в файле...
     
  4. Gisma

    Gisma Гость

    Репутация:
    0
    Это потому что блокнот, следуя стандарту сохраняет в начало файла 2 байта (UTF-8 signature). Он естественно идет раньше тега <?php, а следовательно поступает на вывод до старта пхп.
    Поэтому придется поискать редактор, вырезающий UTF-сигнатуры, если твой редактор такого не позволяет, знай его разработчики об пхп не знали либо забыли :-D
    А так тебе помогут AkelPad либо Edit Plus (этим я пользуюсь как основным редактором пхп-файлов)
     
  5. Reverent

    Reverent Гость

    Репутация:
    0
    Так... а почему когда я устонавливаю UTF-8 русские буквы превращаются в кракозябру???? - ведь по идеи они должны поддерживаться?
     
  6. Gisma

    Gisma Гость

    Репутация:
    0
    потому что кодировка все-таки не UTF :)


    смотри внимательно кодировку могут портить:
    - заголовки сервера
    - настройки XMLHTTP
    - php-скрипт
    - переданный xml-документ
     
Загрузка...

Поделиться этой страницей