Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.02.2013, 16:32
Новичок на форуме
Отправить личное сообщение для copperfox Посмотреть профиль Найти все сообщения от copperfox
 
Регистрация: 21.02.2013
Сообщений: 6

jQuaery get возвращает не UTF-8
Здравствуйте! Подскажите пожалуйста по сути вопроса:

1. Есть файл index.php в который инклюдится файл news.php с кодом формирующим список новостей.
Страница правильно формируется в кодировке UTF-8.

2. Подключен jquery - при нажатии на новость с помощью get подгружает её в переменную и публикует в body. Файл myQJ.js.

3. Почему то возвращает кракозябры( подозреваю что windows-1251) когда надо UTF-8. При этом список всех новостей формируется (php include) нормально.

Коды:

index.php
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Отладка JQuery</title>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/myJQ.js"></script>
</head>

<body>
<?php include 'news.php'; ?>
</body>
</html>


Файл news.php:

<?php
$url = "http://www.webclient.touradmin.ru/b/main/72624/tourists_news/index?".$_SERVER['QUERY_STRING'];
echo implode('',file($url));
?>



Файл с моим JQ обработчиком myJQ.js:

$(function () {
    $('.tn_title').click(function () {
        $.get("tourists_news.php", { wc_action:"detail", id:"45824" })
            .done(function (data) {
//                alert("Data Loaded: " + data);
                $('body').html(data);
            });

    });
});


В результате новость подгружается в неверной кодировке. Где ошибка?
Ответить с цитированием
  #2 (permalink)  
Старый 21.02.2013, 16:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от copperfox
Где ошибка?
Сервер отдает новости без указания Content-Type заголовка, а по умолчанию контент считается windows-1251.
Решение - либо в .htaccess добавить что-то вроде
Код:
# use utf-8 encoding for anything served text/plain or text/html
AddDefaultCharset utf-8
# force utf-8 for a number of file formats
AddCharset utf-8 .html .css .js .xml .json .rss
либо в php-скрипте прописать
header('Content-type: text/html; charset=utf-8');
Ответить с цитированием
  #3 (permalink)  
Старый 21.02.2013, 16:44
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

http://habrahabr.ru/post/17640/
Ответить с цитированием
  #4 (permalink)  
Старый 22.02.2013, 00:43
Новичок на форуме
Отправить личное сообщение для copperfox Посмотреть профиль Найти все сообщения от copperfox
 
Регистрация: 21.02.2013
Сообщений: 6

Спасибо! помогло
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что всё-таки возвращает window.event.srcElement в IE? SegaMega Events/DOM/Window 12 25.12.2012 14:11
select .text() с числами в Chrome возвращает null m3hc jQuery 4 26.09.2011 16:36
Аякс не возвращает значение с сервера vamfirius Internet Explorer 0 26.05.2011 23:53
оператор return возвращает значение, а не ссылку. Vertuplatonium Общие вопросы Javascript 4 16.05.2011 14:02
Как работает оператор new когда функция-конструктор что-то возвращает ? olek Общие вопросы Javascript 2 06.03.2011 12:17