Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ajax кодировка
 
 автор: vasvas5   (26.05.2011 в 23:36)   письмо автору
 
 

Здравствуйте.
Ниже небольшой код.
начальная html страница в кодировке cp1251
Методом POST(кодировка utf-8) данные передаются php скрипту и тот их отдаёт форматом json.
Вопрос: почему когда разбираю json и вставляю текст между <div></div> на html старнице, то он не выводится кракозябрами.
json не может работать c cp1251(только utf-8), то есть ответ от php скрипта точно приходит в utf8, а начальная страница html в cp1251

html
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=windows-1251">
</head>
<script type="text/javascript" src="jquery.js">
</script>
<script type="text/javascript">
$(document).ready(function() {
$('#main_go').click(function() {
$.ajax({
url: 'test3.php',
type: 'POST',
data: 'login=' + $('#login').attr('value') + '&password=' + $('#password').attr('value'),
timeout: 500,
async: 'false',
success: function(msg) {
var o = $.parseJSON(msg);
//alert(o.login);
alert(o.login.charCodeAt(0));
alert(msg);
//$('#err').text('');
$('#err').append(o.login);
},
error: function(xhr) {
alert(xhr.status + ' ' + xhr.statusText);
}
});
});
});
</script>
<div id="err"></div>
<form action="index.php" method="post">
<input type="text" name="login" id="login" value=""><br />
<input type="text" name="password" id="password" value=""><br />
<input type="button" name="main_go" id="main_go" value="vhod"><br />
</form>
<div id="debug_mysql"></div>
<html>



php

<?
foreach ($_POST as $v => $t) {
$ar[$v] = $t;
}
echo json_encode($ar);
?>

  Ответить  
 
 автор: Miha_Kregov   (27.05.2011 в 12:52)   письмо автору
 
   для: vasvas5   (26.05.2011 в 23:36)
 

Так тоже не работает?


<?
header
('Content-Type: text/html; charset=windows-1251'); 
foreach (
$_POST as $v => $t) {
$ar[$v] = $t;
}
echo 
json_encode($ar);
?>

  Ответить  
 
 автор: ddhvvn   (04.06.2011 в 22:01)   письмо автору
 
   для: vasvas5   (26.05.2011 в 23:36)
 

AddDefaultCharset для сервера установите

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования