возникала следующая проблема -
заполняю форму и отправляю данные в БД MySQL.
если таблицы созданы с кодировкой cp1251_general_ci то данные на русском языке вообще не записываются. если же сделать utf8 то кракозябры.
отправляю след. кодом
$db = mysql_connect("localhost","root","");
mysql_select_db("mailer",$db);
$resultat = mysql_query("INSERT INTO `table` ( `name_user`, `email`, `website`, `text`) VALUES ( '$name', '$email', '$subject ', '$message')",$db);
подскажите плиз в чем дело
Спустя 5 минут, 57 секунд (15.02.2012 - 10:41) Панч написал(а):
проверь какая кодировка у каждого поля в таблице стоит
и посмотри какая кодировка у страницы, с которой данные отсылаешь
и посмотри какая кодировка у страницы, с которой данные отсылаешь
Спустя 1 минута, 33 секунды (15.02.2012 - 10:42) Okulo написал(а):
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
это на странице
а это кодировка - cp1251_general_ci
это на странице
а это кодировка - cp1251_general_ci
Спустя 3 минуты, 22 секунды (15.02.2012 - 10:46) Панч написал(а):
а в какой кодировке файл сохранен?
и возвращает ли какую нибудь ошибку при записи?
и возвращает ли какую нибудь ошибку при записи?
Спустя 2 минуты, 47 секунд (15.02.2012 - 10:48) Okulo написал(а):
сори, но не понял о каком файле речь?
ошибку не возвращает никакую.
ошибку не возвращает никакую.
Спустя 2 минуты, 17 секунд (15.02.2012 - 10:51) Панч написал(а):
файл скрипта и формы
т.е. вообще не делает новую запись в базе или делает но с пустыми полями?
т.е. вообще не делает новую запись в базе или делает но с пустыми полями?
Спустя 5 минут, 19 секунд (15.02.2012 - 10:56) Okulo написал(а):
файл индекс на ктором форма 1251 (ANSI кириллица)
запись вообще в БД не делает. если англ. пишу - записывает без проблем.
запись вообще в БД не делает. если англ. пишу - записывает без проблем.
Спустя 1 минута, 28 секунд (15.02.2012 - 10:57) Панч написал(а):
выложи код обработки данных формы
Спустя 14 минут (15.02.2012 - 11:11) Ulan написал(а):
может кодировка соединения не установлена?
Спустя 2 минуты, 30 секунд (15.02.2012 - 11:14) Okulo написал(а):
Свернутый текст
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Web</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="contentForm">
<?php
$error = ''; // сообщение об ошибке
$name = ''; // имя отправителя
$email = ''; // email отправителя
$subject = ''; // тема
$message = ''; // сообщение
if(isset($_POST['send']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$db = mysql_connect("localhost","root","");
mysql_select_db("mailer",$db);
$resultat = mysql_query("INSERT INTO `table` ( `name_user`, `otdel`, `website`, `text`) VALUES ( '$name', '$email', '$subject ', '$message')",$db); }?>
<form method="post" name="contFrm" id="contFrm" action="">
<label><span class="required">*</span>Полное имя:</label>
<input name="name" type="text" class="box" id="name" size="30" value="<?=$name;?>" />
<label><span class="required">*</span> Email: </label>
<input name="email" type="text" class="box" id="email" size="30" value="<?=$email;?>" />
<label><span class="required">*</span> Тема: </label>
<input name="subject" type="text" class="box" id="subject" size="30" value="<?=$subject;?>" />
<label><span class="required">*</span> Сообщение: </label>
<textarea name="message" cols="40" rows="3" id="message"><?=$message;?></textarea>
<input name="send" type="submit" class="button" id="send" value="" />
</form>
</div>
</body>
</html>
Спустя 1 минута, 49 секунд (15.02.2012 - 11:16) Winston написал(а):
В каждом файле вверху пропиши
А после mysql_select_db() напиши
header("Content-Type: text/html; charset=windows-1251");
А после mysql_select_db() напиши
mysql_query('SET NAMES cp1251');
Спустя 9 минут, 26 секунд (15.02.2012 - 11:25) Okulo написал(а):
всем огромное спасибо.
получилось!
получилось!