[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кодировка при записи
IamSmorodin
Создал таблицу в скуле в кодировке windows-1251. Все страницы кода перекодировал в ANSI, проверил на всех страницах, чтобы кодировка была как в базе. Но при записи в БД русский текст все равно каракулями.

P.S. Использую sqlbuddy.



Спустя 18 минут, 10 секунд (23.10.2011 - 18:15) Winston написал(а):
Попробуй при коннекте прописать запрос
SET NAMES CP1251

И заголовок попробуй поставить
header('Content-Type: text/html; charset=windows-1251');

Спустя 5 минут, 45 секунд (23.10.2011 - 18:21) IamSmorodin написал(а):
Цитата (Winston @ 23.10.2011 - 18:15)
Попробуй при коннекте прописать запрос
SET NAMES CP1251

И заголовок попробуй поставить
header('Content-Type: text/html; charset=windows-1251');

Вот идет подключение:

$db_server = "localhost";
$db_user = "root";
$db_password = "";
$db_base = "aad";
$db = mysql_connect($db_server,$db_user,$db_password);
mysql_select_db($db_base,$db);


Мне прописать сюда:

mysql_query("SET NAMES cp1251");
header('Content-Type: text/html; charset=windows-1251');
??

Или я что-то не так понял?

Спустя 54 минуты, 51 секунда (23.10.2011 - 19:16) Winston написал(а):
Вот так
$db_server = "localhost";
$db_user = "root";
$db_password = "";
$db_base = "aad";
$db = mysql_connect($db_server,$db_user,$db_password);
mysql_select_db($db_base,$db);

mysql_query("SET NAMES cp1251");

А это
header('Content-Type: text/html; charset=windows-1251');

В начале рнр файла

Спустя 6 минут, 41 секунда (23.10.2011 - 19:23) IamSmorodin написал(а):
Winston
Все равно кракозябры в базе. Они появляются, даже если непосредственно в базу через sqlbuddy данные вносить. Проверяю, вроде база в cp1251

Спустя 1 минута, 32 секунды (23.10.2011 - 19:24) Winston написал(а):
Попробуй непосредственно в базе запрос запустить
SET NAMES cp1251

Спустя 12 минут, 28 секунд (23.10.2011 - 19:37) IamSmorodin написал(а):
Цитата (Winston @ 23.10.2011 - 19:24)
Попробуй непосредственно в базе запрос запустить
SET NAMES cp1251

Your query did not return any results

Спустя 14 минут, 9 секунд (23.10.2011 - 19:51) dadli написал(а):
IamSmorodin
даите скриншот ваш таблиц.
точнее даите скриншот из раздела Structure

Спустя 27 минут, 25 секунд (23.10.2011 - 20:18) IamSmorodin написал(а):
user posted image

Спустя 7 минут (23.10.2011 - 20:25) Winston написал(а):
Цитата (IamSmorodin @ 23.10.2011 - 17:57)
Но при записи в БД русский текст все равно каракулями.

А если заголовок
header('Content-Type: text/html; charset=windows-1251');

Поставить в тех файлах, в которых идет запись в БД ?

Спустя 6 минут, 13 секунд (23.10.2011 - 20:32) IamSmorodin написал(а):
Winston
у меня запись идет в register.php, там и поставил.

Спустя 13 часов, 52 минуты, 29 секунд (24.10.2011 - 10:24) IamSmorodin написал(а):
Народ, скачайте дамп БД:

Скачать файл export.sql

гляньте в phpMyAdmin, может у меня sqlbuddy клинит, или я что-то не так делаю

Спустя 3 минуты, 41 секунда (24.10.2011 - 10:28) Игорь_Vasinsky написал(а):
скачал. у тя при записи в БД появляются иероглифы - значит входные данные не соответствуют кодировки БД

ты на странице записи чё нить инклудишь?

Спустя 6 минут, 13 секунд (24.10.2011 - 10:34) IamSmorodin написал(а):
Игорь_Vasinsky
Файл подключения к БД и файл проверки на авторизацию пользователя.

Спустя 1 минута, 18 секунд (24.10.2011 - 10:35) Игорь_Vasinsky написал(а):
они тоже в анси?

Спустя 8 минут, 15 секунд (24.10.2011 - 10:43) IamSmorodin написал(а):
Игорь_Vasinsky
ага, абсолютно все файлы в анси.

Попробуй прямо в базе сделать запрос INSERT, что у тебя получится?

Спустя 2 минуты, 50 секунд (24.10.2011 - 10:46) Игорь_Vasinsky написал(а):

<?
mysql_query("SET CHARACTER SET cp1251");
mysql_query("SET NAMES cp1251");
?>



Спустя 25 минут, 52 секунды (24.10.2011 - 11:12) IamSmorodin написал(а):
Игорь_Vasinsky
Все равно не работает, бред какой-то. Всегда все нормально было.

Спустя 1 минута, 38 секунд (24.10.2011 - 11:14) Игорь_Vasinsky написал(а):
сноси БД, создавай её заного. мне как то помогло.

Спустя 3 дня, 19 часов, 52 минуты (28.10.2011 - 07:06) IamSmorodin написал(а):
Игорь_Vasinsky
Снес, все заново сделал... ничего. Видимо я где-то туплю, но никак не могу понять где.

Странность в том, что даже в базе phpMyAdmin, если в нее напрямую сделать запрос INSERT, то все каракулями записывается. Ничего не понимаю.

Спустя 5 часов, 17 минут, 42 секунды (28.10.2011 - 12:24) Winston написал(а):
Цитата (IamSmorodin @ 28.10.2011 - 07:06)
Странность в том, что даже в базе phpMyAdmin, если в нее напрямую сделать запрос INSERT, то все каракулями записывается. Ничего не понимаю.

Играй с кодировками.

Спустя 17 минут, 58 секунд (28.10.2011 - 12:41) IamSmorodin написал(а):
Winston
это как так - играть?

Спустя 5 минут, 36 секунд (28.10.2011 - 12:47) Игорь_Vasinsky написал(а):
в PMA - ставь для ячеек cp1251general_c

Спустя 46 минут, 25 секунд (28.10.2011 - 13:33) IamSmorodin написал(а):
А может я туплю. Посмотрите. Все файлы сохранены в ANSI, кодировка БД - cp1251. Вот два файла:

1. settings.php

$db_server = "localhost";
$db_user = "root";
$db_password = "";
$db_base = "angelsanddemons";
$db = mysql_connect($db_server,$db_user,$db_password);
mysql_select_db($db_base,$db);
mysql_query("SET CHARACTER SET cp1251");
mysql_query("SET NAMES cp1251");


2. register.php

<?php
session_start();
$name_page = "register";
include("settings.php");
include("check.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
title>Регистрация</title>

<
meta http-equiv="Content-type" content="text/html; charset=windows-1251" />
<
meta name="robots" content="all" />
<
meta name="description" content=" " />
<
meta name="keywords" content=" " />

<
link href="css/style.css" rel="stylesheet" type="text/css" media="print, projection, screen" />
<
link rel="stylesheet" href="css/form-field-tooltip.css" media="screen" type="text/css">

<
script type="text/javascript" src="js/rounded-corners.js"></script>
<
script type="text/javascript" src="js/form-field-tooltip.js"></script>

<!--[
if lte IE 6]>
<
script type="text/javascript" src="css/supersleight-min.js"></script>
<![
endif]-->

</
head>

<?php
$error = 0;
if ($_POST['form_submit'] == 1)
{
if($_POST['getCode'] == $_SESSION['code'])
{
$captcha = 1;
}
else
{
$captcha = 0;
$error = 1; //Каптча введене неверно
$txt_error[] = 'Код введен неверно';
}
if ($_POST['mail_author'] == '')
{
$error = 1;
$txt_error[] = "Не введен адрес электронной почты!";
}
else
{
if (!preg_match("|[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}|i",$_POST['mail_author']))
{
$error = 1;
$txt_error[] = "Неверный формат адреса электронной почты!";
}
}

if ($_POST['password1_author'] == '')
{
$error = 1;
$txt_error[] = "Не введен пароль!";
}
else
{
if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['password1_author']))
{
$error = 1;
$txt_error[] = "Неверный формат пароля!";
}
else
{
if (strlen($_POST['password1_author'])<6)
{
$error = 1;
$txt_error[] = "Пароль должен быть не менее 6 символов!";
}
}
}

if ($_POST['password2_author'] == '')
{
$error = 1;
$txt_error[] = "Не введен пароль №2!";
}
else
{
if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['password2_author']))
{
$error = 1;
$txt_error[] = "Неверный формат пароля №2!";
}
else
{
if (strlen($_POST['password2_author'])<6)
{
$error = 1;
$txt_error[] = "Пароль №2 должен быть не менее 6 символов!";
}
}
}

if (($_POST['password1_author'] != '') and ($_POST['password2_author'] != ''))
{
if ($_POST['password1_author'] !== $_POST['password2_author'])
{
$error = 1;
$txt_error[] = "Пароль и пароль №2 не совпадают!";
}
}

if ($_POST['name_author'] == '')
{
$error = 1;
$txt_error[] = "Не введено имя!";
}
else
{
if(!preg_match("/^[а-яА-Я]+$/",$_POST['name_author']))
{
$error = 1;
$txt_error[] = "Неверный формат имени!";
}
else
{
if (strlen($_POST['name_author'])<2)
{
$error = 1;
$txt_error[] = "Имя должно быть не менее 2 символов!";
}
}
}

if ($_POST['lname_author'] == '')
{
$error = 1;
$txt_error[] = "Не введена фамилия!";
}
else
{
if(!preg_match("/^[а-яА-Я]+$/",$_POST['lname_author']))
{
$error = 1;
$txt_error[] = "Неверный формат фамилии!";
}
else
{
if (strlen($_POST['lname_author'])<2)
{
$error = 1;
$txt_error[] = "Фамилия должна быть не менее 2 символов!";
}
}
}

//Проверяем, есть ли пользователь с таким email?
$query = mysql_query("SELECT COUNT(user_id) FROM users WHERE user_mail='".mysql_real_escape_string($_POST['mail_author'])."'") or die(mysql_error());
if(mysql_result($query, 0) > 0)
{
$error = 1;
$txt_error[] = "Пользователь с данным email уже существует!";
}
//Добавляем нового пользователя
if ($error == 0)
{
$mail = $_POST['mail_author'];
$name = $_POST['name_author'];
$lname = $_POST['lname_author'];
$password = md5(md5(trim($_POST['password1_author'])));
mysql_query("INSERT INTO users SET user_mail='".$mail."', user_password='".$password."', user_name='".$name."', user_lname='".$lname."'") or die(mysql_error());

$query_id = mysql_query("SELECT user_id FROM users WHERE user_mail='".$mail."'") or die(mysql_error());
$user = mysql_fetch_assoc($query_id);
$name_dir = "img/".$user['user_id'];
mkdir($name_dir,0777);
}
}

?>



<body>
<
div id="container">


<
div id="header">
</
div>
<
div id="header2">

<
div id="search">
<
input type="text" id="poisk_po" value="" />
<
input type="submit" id="click1" value="" />
</
div>

<?php include("top_menu.php"); ?>
</div>

<
table id="wraper" border="0" cellpadding="0" cellspacing="0">
<
tr>
<
td>
<
table width="500" border="0" align="center">
<
tr><td height="5"></td></tr>
<
tr><td style="font-family:Verdana,Arial;font-size:12px;color:#6a6a6a;">Чтобы зарегестрироваться, заполните пожалуйста все поля, которые
расположены снизу. Обязательно укажите ваш реальный адрес электронной почты. Это будет ваш логин для доступа на сайт. <br>
Все поля обязательны для заполнения.</td></tr>
<
tr><td height="5"></td></tr>
<
tr><td>
<
FORM action="#" name="form_registration" METHOD="POST">
<
table align="center">
<?php
if ($error != 0)
{
echo"<tr><td style='font-family:Verdana,Arial;font-size:15px;color:#e00000;'><b>Ошибка регистрации!</b></td></tr>";
for ($i=0;$i<count($txt_error);$i++)
{
echo"<tr><td style='font-family:Verdana,Arial;font-size:12px;color:#e00000;'> $txt_error[$i]</td></tr>";
}
echo"<tr><td height='5'></td></tr>";
}
else
{
if ($_POST['form_submit'] == 1)
{
echo"<tr><td style='font-family:Verdana,Arial;font-size:15px;color:#16ae21;'><b>Регистрация прошла успешно!</b></td></tr>";
echo"<tr><td height='5'></td></tr>";
}
}

?>
<tr><td align="left" style="font-family:Verdana,Arial;font-size:10px;color:#6a6a6a;">Адрес электронной почты</td></tr>
<
tr><td><input type="text" id="firstname" name="mail_author" tooltipText="Например, aad@mailaad.ru"
<?php if ($_POST['mail_author'] != '') {$val=$_POST['mail_author'];} else {$val='';} ?>
style="width:400px;height:20px;border:solid 1px #6a6a6a;color:#6a6a6a;" value=<?=$val ?> ></td></tr>
<
tr><td height="5"></td></tr>
<
tr><td align="left" style="font-family:Verdana,Arial;font-size:10px;color:#6a6a6a;">Ваш пароль</td></tr>
<
tr><td><input type="password" id="firstname" name="password1_author" value="" tooltipText="Не менее 6 символов. Только латинские буквы и числа."
style="width:400px;height:20px;border:solid 1px #6a6a6a;color:#6a6a6a;"></td></tr>
<
tr><td height="5"></td></tr>
<
tr><td align="left" style="font-family:Verdana,Arial;font-size:10px;color:#6a6a6a;">Повторите ваш пароль</td></tr>
<
tr><td><input type="password" id="firstname" name="password2_author" value="" tooltipText="Не менее 6 символов. Только латинские буквы и числа."
style="width:400px;height:20px;border:solid 1px #6a6a6a;color:#6a6a6a;"></td></tr>
<
tr><td height="5"></td></tr>
<
tr><td align="left" style="font-family:Verdana,Arial;font-size:10px;color:#6a6a6a;">Ваше имя</td></tr>
<
tr><td><input type="text" id="firstname" name="name_author" tooltipText="Не менее 2 символов. Только русские буквы."
<?php if ($_POST['name_author'] != '') {$val=$_POST['name_author'];} else {$val='';} ?>
style="width:400px;height:20px;border:solid 1px #6a6a6a;color:#6a6a6a;" value=<?=$val ?>></td></tr>
<
tr><td height="5"></td></tr>
<
tr><td align="left" style="font-family:Verdana,Arial;font-size:10px;color:#6a6a6a;">Ваша фамилия</td></tr>
<
tr><td><input type="text" id="firstname" name="lname_author" tooltipText="Не менее 2 символов. Только русские буквы."
<?php if ($_POST['lname_author'] != '') {$val=$_POST['lname_author'];} else {$val='';} ?>
style="width:400px;height:20px;border:solid 1px #6a6a6a;color:#6a6a6a;" value=<?=$val ?>></td></tr>
<
tr><td height="5"></td></tr>
<
tr><td align="left" style="font-family:Verdana,Arial;font-size:10px;color:#6a6a6a;">Проверочный код</td></tr>
<
tr><td>
<
table width="400" border="0"><tr>
<
td width="100"><img src="captcha.php" /></td>
<
td width="300"><input type="text" name="getCode" style="valign:top;width:298px;height:20px;border:solid 1px #7f7f7f;color:#7f7f7f;"></td>
</
tr></table>
</
td></tr>
<
tr><td height="5"></td></tr>
<
tr><td style="font-family:Verdana,Arial;font-size:12px;color:#6a6a6a;">Нажимая кнопку "Готово", вы подтверждаете, что
согласны<br> с <a class="link" href="license.php">Пользовательским соглашением</a>.</td></tr>
<
tr><td height="5"></td></tr>
<
input type="hidden" value="1" name="form_submit">
<
tr><td><table border="0"><tr><td width="150"></td><td width="70"><a href="#" class="button" onClick="document.forms['form_registration'].submit();">Готово</a></td><td width="150"></td></tr></table></td></tr>
<
tr><td height="5"></td></tr>
</
table>
</
FORM>
</
td></tr>
</
table>
</
td>
</
tr>
</
table>

<!--
Нижнее меню -->
<
div id="footer">
<?php include("bottom_menu.php"); ?>
</div>

</
div>


<
script type="text/javascript">
var tooltipObj = new DHTMLgoodies_formTooltip();
tooltipObj.setTooltipPosition('right');
tooltipObj.setPageBgColor('#EEEEEE');
tooltipObj.setTooltipCornerSize(15);
tooltipObj.initFormFieldTooltip();
</
script>
</
body>
</
html>


Не знаю, как сворачивать текст.


_____________
Мой Twitter
Подписывайтесь :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.