|
|
|
| Здравствуйте.
Ниже небольшой код.
начальная 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);
?> | |
|
|
|
|
|
|
|
для: 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);
?>
|
| |
|
|
|
|
|
|
|
для: vasvas5
(26.05.2011 в 23:36)
| | AddDefaultCharset для сервера установите | |
|
|
|