Проблемы с кодировкой при записи в mySQL (jQuery+ ajax + php)

Cliff1336

Новичок
Пытаюсь записать данные в БД, сколько возился, никак не пойму, как решить, помогите пожалуйста..
Проблемы в следующем
Вот код странички
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Index</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.23.custom.min.js"></script>
<script type="text/javascript" src="js/allscripts.js"></script>
</head>

<body>
<div id="saveTag">
  <table width="1440" border="1" id="table">
    <tr>
      <td width="49" rowspan="3"><div align="center">№</div></td>
      <td colspan="3" rowspan="3"><div align="center">Назв.Трт</div></td>
      <td colspan="3" rowspan="3"><div align="center">Адрес</div></td>
      <td colspan="15"><div align="center" id="vodka">Водка</div></td>
      <td colspan="8"><div align="center" id="vino">Вино</div></td>
      <td colspan="13"><div align="center" id="konjak">Коньяк</div></td>
      <td width="12"><div align="center"></div></td>
    </tr>
  </table>
</div>
<input name="save" type="button" id="save" value="сохранить таблицу">
</body>
</html>
дальше я создаю событие, которое при нажатии клавиши записывает в переменную "saveTag" весь HTML код, лежащий в теге <div id="saveTag"> и отправляю его в файл обработчик

PHP:
$('#save').click(function() {
var saveTable = $('#saveTag').html();
$.ajax({
   type: "POST",
   url: "saveTable.php",
   data: "key=" + saveTable,
   success: function(data){
     alert("Table Saved!");
   }
 });
вот собственно сам обработчик saveTable.php
PHP:
<?php
$db = (mysql_connect("localhost","bmb","123"));
mysql_select_db ("bmb",$db);
mysql_query("SET NAMES 'cp1251'");
if  (isset($_POST['key'])) {$key = $_POST['key']; if ($key == '') {unset($key);}}
mysql_query ("INSERT INTO data (html) VALUES ('$key')");
?>
Код в бд сохраняется... но вместо кириллического текста бред вроде "Назв.РўСЂС"

что я делаю не правильно?
 

Вложения

  • 234,7 KB Просмотры: 2

Фанат

oncle terrible
Команда форума
аякс всегда работает в утф, вне зависимости от кодировки страницы
 

флоппик

promotor fidei
Команда форума
Партнер клуба
По какому еще умолчанию? У вас что, аякс — это волшебный запрос, который сам все данные в UTF-8 приводит? Вы специалисты или кто? Потом на такие обобщающие фразы дебилы и ссылаются.
 

С.

Продвинутый новичок
Принимаемый аяксом ответ всегда будет считаться УТФ, независимо от кодировки текущей страницы, если на сервере при ответе явно не добавили заголовок с иной кодировкой.
 

Cliff1336

Новичок
Принимаемый аяксом ответ всегда будет считаться УТФ, независимо от кодировки текущей страницы, если на сервере при ответе явно не добавили заголовок с иной кодировкой.
а как исправить ситуацию? просто поменять везде все кодировки на утф?
 

Фанат

oncle terrible
Команда форума
Принимаемый аяксом ответ всегда будет считаться УТФ, независимо от кодировки текущей страницы, если на сервере при ответе явно не добавили заголовок с иной кодировкой.
при ответе на что? на аякс запрос?
 

Фанат

oncle terrible
Команда форума
везде менять не обязательно.
можно перекодировать конкретную строку.
 

Фанат

oncle terrible
Команда форума
ну хотя бы предположения у тебя есть, какую строку надо перекодировать?
 

Cliff1336

Новичок
PHP:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
или
PHP:
mysql_query("SET NAMES 'cp1251'");
?
 
Сверху