У меня в базу данных сохраняется данные кракозябрами, что делать?
Ситуация следующая:
index.php в кодировке UTF-8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Документ</title>
<script src="jquery.js" type="text/javascript" language="javascript"> </script>
<script language="javascript">
$(document).ready(function()
{
$("#button").click(function()
{
$.post("do.php",{name:$("#name").val()}, function()
{
$("#list").load("check.php");
$("#name").val("");
})
.complete(function() { alert("Завершение выполнения");})
});
});
</script>
</head>
<body>
<div id="list" style="padding-left:300px; border:1px solid #000; padding:20;">
<?php
require_once("check.php");
?>
</div>
<div id="module">
<div id="module_name">
Название:
</div>
<div id="module_action">
<div id="insert"><input type="text" id="name"/></div>
</div>
</div>
<div id="module" style="text-align:center">
<input type="button" id="button" value="Добавить"/></div>
</div>
<form action="do.php" method="POST">
<div id="module" style="text-align:center">
<input type="text" name="name" id="name"/><br />
<input type="submit" id="button" value="Добавить"/>
</div>
</form>
</body>
</html>
check.php в кодировке UTF-8
<?php
$db_host='localhost';
$db_name='test';
$db_login='Avdey';
$db_pass='';
mysql_connect($db_host,$db_login,$db_pass);
mysql_select_db($db_name);
$sql_place_type = mysql_query("SELECT*FROM name");
while($place_type = mysql_fetch_array($sql_place_type)){
?>
<div id="checkbox">
<input type="checkbox" name="type[]" id="type[]" value="<?=$place_type[name]?>"/><?=$place_type[name]?>
</div>
<?php
}
?>
do.php в кодировке UTF-8
<?php
$db_host='localhost';
$db_name='test';
$db_login='Avdey';
$db_pass='';
mysql_connect($db_host,$db_login,$db_pass);
mysql_select_db($db_name);
$name = $_POST['name'];
if($name == ""){echo "Результат";}else{
mysql_query("INSERT INTO name (name) VALUES ('$name')");}
echo "POST =".$_POST['name']."";
?>
Использую в index`e асинхронный запрос, отсылает даные файлу do и как готов ответ, обнавляет <div id="checkbox"> файлом check.php
Все данные отображаются нормально, но захожу в базу данных через phpmyadmin и там все в кракозябрах, хотя кодировка таблиц и базы в utf8_general_ci, почему в базу сохраняются кракозябры не понятно =(((
Думал что это из-за аджакс запроса через jQuery-библиотеку кодировка передаваемых данных херится, а как видно из index`са то там ниже ещё обычная форма откравки, через неё тоже кракозябры в базу записываются, а браузер всё ровно отображает...=(
Просто решил сделать сайт с нуля на <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> а опыта нет, подскажите что не так?