Помогите пожалуйста, что-то с кодировкой, но не знаю что. Слышал, что проблема распространеннная.
Заранее благодарен.
Спустя 3 минуты, 49 секунд (14.03.2010 - 19:56) Mirexzpalich написал(а):
Сделай SQL запрос:
Кодировка - это та в которой создавалась база. Если русский не распознает, то пробуй кодировки с поддержкой русского. Такие как cp866, cp1251, utf8...
set names [кодировка]
Кодировка - это та в которой создавалась база. Если русский не распознает, то пробуй кодировки с поддержкой русского. Такие как cp866, cp1251, utf8...
Спустя 18 минут, 34 секунды (14.03.2010 - 20:15) Reppa написал(а):
У меня была такая проблема. Попробуй сразу после обращения к базе добавить в код:
<? mysql_query("SET NAMES `windows-1251`"); ?>
+ в настройках базы измени кодировку: phpmyadmin - база - таблица - структура - поле "сравнение" например на utf8_unicode_ci или cp1251_general_ci
Должно помочь
<? mysql_query("SET NAMES `windows-1251`"); ?>
+ в настройках базы измени кодировку: phpmyadmin - база - таблица - структура - поле "сравнение" например на utf8_unicode_ci или cp1251_general_ci
Должно помочь
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
Спустя 25 минут, 58 секунд (14.03.2010 - 20:41) t-mac написал(а):
БД portal - таблица reg на localhost
Ошибка
SQL-запрос :
SET names[cp1251]
Ответ MySQL:
#1064 - You have an error in your SQL syntax near 'names[cp1251]' at line 1
Вот такую бяку выдает....
Спустя 5 минут, 34 секунды (14.03.2010 - 20:46) Nikitian написал(а):
t-mac
Квадратные скобочки не нужны
Квадратные скобочки не нужны
Спустя 18 минут, 32 секунды (14.03.2010 - 21:05) t-mac написал(а):
БД portal на localhost
Ошибка
SQL-запрос :
SET names cp1251
Ответ MySQL:
#1064 - You have an error in your SQL syntax near 'names cp1251' at line 1
Аналогичная беда.........
Спустя 16 минут, 13 секунд (14.03.2010 - 21:21) Mirexzpalich написал(а):
попробуй кодировку в кавычки поставить. Пробуй разные кодировки.
Спустя 1 час, 7 минут, 13 секунд (14.03.2010 - 22:28) Reppa написал(а):
Вот блин, я ж тебе написал целиком.
запрос к базе ты делал - mysql_query?
![blink.gif](http://phpforum.ru/html/emoticons/blink.gif)
запрос к базе ты делал - mysql_query?
Спустя 1 день, 23 часа, 43 минуты, 10 секунд (16.03.2010 - 22:12) t-mac написал(а):
Reppa, прописал всё целиком, как Вы показали......
Вот фрагмент (начало):
Результат не изменился.....
Вот фрагмент (начало):
<?php
mysql_connect("localhost","root","");
mysql_selectDB('portal');
mysql_query("SET NAMES 'windows-1251'");
Результат не изменился.....
![sad.gif](http://phpforum.ru/html/emoticons/sad.gif)
Спустя 1 час, 1 минута, 52 секунды (16.03.2010 - 23:13) t-mac написал(а):
Ребят, помогите пожалуйста.....
Спустя 3 часа, 43 минуты, 47 секунд (17.03.2010 - 02:57) AHDPEu написал(а):
У тебя текст в utf8 записывается, а база похоже windows-1251
Reppa правильно написал.
Попробуй с SET NAMES 'UTF-8' создать новую запись и посмотри в каком она виде пришла.
Reppa правильно написал.
Попробуй с SET NAMES 'UTF-8' создать новую запись и посмотри в каком она виде пришла.
Спустя 17 часов, 43 минуты, 22 секунды (17.03.2010 - 20:41) t-mac написал(а):
Ребят, все равно "корявки" заносит вместо русских символов......
Вот сделал:
Не работает.....![sad.gif](http://phpforum.ru/html/emoticons/sad.gif)
Фрагмент из БД:
Вот сделал:
<?php
mysql_connect("localhost","root","");
mysql_selectDB('portal');
mysql_query("SET NAMES 'UTF-8'");
Не работает.....
![sad.gif](http://phpforum.ru/html/emoticons/sad.gif)
Фрагмент из БД:
iduser login pas pas1 email fio strana gorod pol datarod deatel
28 tmac 111 111 tmac@inbox.ru Grinevich Р РѕСЃСЃРёСЏ Краснодар polm 0000-00-00 Студент РљРљРРџ
Спустя 1 час, 26 минут, 17 секунд (17.03.2010 - 22:07) t-mac написал(а):
Помогите пожалуйста.....
Спустя 1 час, 33 минуты, 49 секунд (17.03.2010 - 23:41) gaizjad написал(а):
какую ты хочешь кодировку (win...1251 или utf8)?
как твой скрипт заносит данные в базу?
кодировка самого скрипта пхп?
content-type - charset в заголовке хтмл документа, если данные заносятся с формы?
тип таблиц mysql?
как твой скрипт заносит данные в базу?
кодировка самого скрипта пхп?
content-type - charset в заголовке хтмл документа, если данные заносятся с формы?
тип таблиц mysql?
![blink.gif](http://phpforum.ru/html/emoticons/blink.gif)
Спустя 1 час, 28 минут, 37 секунд (18.03.2010 - 01:09) t-mac написал(а):
У меня есть файл регистрации reg.html и к нему пхп-скрипт rg.php. Данные в БД заносятся посредством формы и обработчика пхп-скрипта. В reg.html (форма заполнения регистрации) я не писал кодировки, наверное какая-то по умолчанию, но не знаю какая
Заносятся данные в БД методом POST
Вот вроде все....Почему траблы - не знаю
P.S.: У меня денвер 2, возможно это тоже играет роль.....
![sad.gif](http://phpforum.ru/html/emoticons/sad.gif)
Вот вроде все....Почему траблы - не знаю
P.S.: У меня денвер 2, возможно это тоже играет роль.....
Спустя 14 часов, 33 минуты, 13 секунд (18.03.2010 - 15:43) gaizjad написал(а):
вот к примеру у вас структура документа:
<html>
<head>
<title>Помогите разобраться!!! -> Форум PHP программистов</title>
</head>
<body>
...
</body>
</html>
нужно добавить строку <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
и сюда вставить нужную кодировку (в данном случае windows-1251)
Т.е должно получиться примерно так:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>Помогите разобраться!!! -> Форум PHP программистов</title>
<body>
...
</body>
</html>
<html>
<head>
<title>Помогите разобраться!!! -> Форум PHP программистов</title>
</head>
<body>
...
</body>
</html>
нужно добавить строку <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
и сюда вставить нужную кодировку (в данном случае windows-1251)
Т.е должно получиться примерно так:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>Помогите разобраться!!! -> Форум PHP программистов</title>
<body>
...
</body>
</html>
Спустя 14 минут, 59 секунд (18.03.2010 - 15:58) gaizjad написал(а):
а потом уже в самом скрипте указывать данную кодивроку и слать в базу 'SET NAMES `кодировка`';
после чего запихавать туда данные с формы в таблицу с той же кодировкой
после чего запихавать туда данные с формы в таблицу с той же кодировкой
Спустя 2 часа, 50 секунд (18.03.2010 - 17:58) t-mac написал(а):
Итак, по-прежнему не получается увидеть русские символы в БД
Приведу полностью текст reg.html - форма регистрации:
Вот обработчик rg.php - кнопка "Регистрация" :
Результат = 0! Пробовал кодировку и windows-1251, и utf8, и utf-8 как я привел сейчас......не пашет
Приведу полностью текст reg.html - форма регистрации:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8" />
<title>регистрация пользователя</title>
<style type="text/css">
<!--
.стиль2 {
font-family: "DS Stamper"
}
.стиль3 {color: #FF9900}
-->
</style>
</head>
<body bgcolor=#000000 background="g/g4.png" style="background-repeat:
no-repeat ; background-position:top;">
<form action="http://localhost/rg.php" method="POST">
<div align="center">
<p> </p>
<p class="стиль3"><span class="стиль2">Регистрация пользователя</span></p>
<p class="стиль3"> </p>
<p class="стиль3"><br>
<br>
</p>
<table width="583" border="0">
<tr>
<td width="296" bordercolor="#000000" class="стиль3"><span class="стиль2">Логин*</span></td>
<td width="271" class="стиль3"><span class="стиль2">
<input type="text" name="login" size="25">
</span></td>
</tr>
<tr>
<td class="стиль3"><span class="стиль2">E-mail*</span></td>
<td class="стиль3"><span class="стиль2">
<input type="text" name="email" size="25">
</span></td>
</tr>
<tr>
<td class="стиль3"><span class="стиль2">Пароль*</span></td>
<td class="стиль3"><span class="стиль2">
<input type="password" name="pas" size="25">
</span></td>
</tr>
<tr>
<td class="стиль3"><span class="стиль2">Повторите пароль*</span></td>
<td class="стиль3"><span class="стиль2">
<input type="password" name="pas1" size="25">
</span></td>
</tr>
<tr>
<td height="28" class="стиль3"><span class="стиль2">Ваше ФИО*</span></td>
<td class="стиль3"><span class="стиль2">
<input type="text" name="fio" size="25">
</span></td>
</tr>
<tr>
<td class="стиль3"><p align="left" class="стиль2">Дата рождения</p>
<p align="center" class="стиль2"></p></td>
<td class="стиль3"> </td>
</tr>
<tr>
<td colspan="2" class="стиль3"><span class="стиль2">день
<select size="1" name="den">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
месяц
<select size="1" name="mes">
<option value="1">январь</option>
<option value="2">февраль</option>
<option value="3">март</option>
<option value="4">апрель</option>
<option value="5">март</option>
<option value="6">июнь</option>
<option value="7">июль</option>
<option value="8">август</option>
<option value="9">сентябрь</option>
<option value="10">октябрь</option>
<option value="11">ноябрь</option>
<option value="12">декабрь</option>
</select>
год
<select size="1" name="god">
<option value="1989">1989</option>
<option value="1990">1990</option>
<option value="1991">1991</option>
<option value="1992">1992</option>
<option value="1993">1993</option>
<option value="1994">1994</option>
<option value="1995">1995</option>
<option value="1996">1996</option>
<option value="1997">1997</option>
<option value="1998">1998</option>
<option value="1999">1999</option>
</select>
</span></td>
</tr>
<tr>
<td colspan="2" class="стиль3"><div align="center"><span class="стиль2">Дополнительная информация </span></div></td>
</tr>
<tr>
<td class="стиль3"><span class="стиль2">Страна</span></td>
<td class="стиль3"><span class="стиль2">
<input type="text" name="strana" size="25">
</span></td>
</tr>
<tr>
<td class="стиль3"><span class="стиль2">Город&</span></td>
<td class="стиль3"><span class="стиль2">
<input type="text" name="gorod" size="25">
</span></td>
</tr>
<tr>
<td class="стиль3"><span class="стиль2">Пол&</span></td>
<td class="стиль3"><span class="стиль2">
<select size="1" name="pol">
<option value="polm">Мужской
<option value="polw">Женский
</select>
</span></td>
</tr>
<tr>
<td class="стиль3"><span class="стиль2">Ваша деятельность</span></td>
<td class="стиль3"><span class="стиль2">
<input type="text" name="deatel" size="25">
</span></td>
</tr>
<tr>
<td height="33" class="стиль3"> </td>
<td class="стиль3"> </td>
</tr>
<tr>
<td height="33" class="стиль3"> </td>
<td class="стиль3"> </td>
</tr>
<tr>
<td height="33" class="стиль3"><input type="submit" value="Регистрация" name="otp"><input type="button" value="На главную" name="glav" OnClick=window.navigate('index.php')><br></td>
<td class="стиль3"><input type="reset" value="Очистить"></td>
</tr>
</table>
<br>
</div>
<p align="center"> Поля, отмеченные символом *, являются обязательными </p>
</div>
</center>
</font>
</body>
<html>
Вот обработчик rg.php - кнопка "Регистрация" :
<?php
mysql_connect("localhost","root","");
mysql_selectDB('portal');
mysql_query("SET NAMES 'utf8'");
$login=$_POST['login'];
$email=$_POST['email'];
$pas=$_POST['pas'];
$pas1=$_POST['pas1'];
$fio=$_POST['fio'];
$datarod="{$_POST['den']}-{$_POST['mes']}-{$_POST['god']}";
$strana=$_POST['strana'];
$gorod=$_POST['gorod'];
$pol=$_POST['pol'];
$deatel=$_POST['deatel'];
echo "<html><body>";
echo "<font style='font-size:20px;'>";
if(!preg_match("/^[a-zA-Z0-9]+$/",$login))
{echo "<html><body background='g/g4.png' style='background-repeat: no-repeat;
background-position:top;font-size:20px'><div align='center'><form>";
echo '<html><body><form><input type="button" OnClick="history.back()" value="Вернуться назад"><br>';
die('Логин должен состоять только из букв латинского алфавита и цифр');
echo "</form></div></body></html>";}
else
if(strlen($login) < 3 or strlen($login) > 25)
{echo "<html><body background='g/g4.png' style='background-repeat: no-repeat;
background-position:top;font-size:20px'><div align='center'><form>";
echo '<html><body><form><input type="button" OnClick="history.back()" value="Вернуться назад"><br>';
die('Логин должен быть не меньше 3-х символов и не больше 25');
echo "</form></div></body></html>";}
else
if(!preg_match('|([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is',$email))
{echo "<html><body background='g/g4.png' style='background-repeat: no-repeat;
background-position:top;font-size:20px'><div align='center'><form>";
echo '<html><body><form><input type="button" OnClick="history.back()" value="Вернуться назад"><br>';
die('Введен неправильный e-mail');
echo "</form></div></body></html>";}
else
if(!preg_match("/^[a-zA-Z0-9]+$/",$pas))
{echo "<html><body background='g/g4.png' style='background-repeat: no-repeat;
background-position:top;font-size:20px'><div align='center'><form>";
echo '<html><body><form><input type="button" OnClick="history.back()" value="Вернуться назад"><br>';
die('Пароль должен состоять только из букв латинского алфавита и цифр');
echo "</form></div></body></html>";}
else
if($pas!==$pas1)
{echo "<html><body background='g/g4.png' style='background-repeat: no-repeat;
background-position:top;font-size:20px'><div align='center'><form>";
echo '<html><body><form><input type="button" OnClick="history.back()" value="Вернуться назад"><br>';
die('Пароли не совпадают');
echo "</form></div></body></html>";}
else
if(!preg_match("/^[a-zA-Z ]+$/",$fio))
{echo "<html><body background='g/g4.png' style='background-repeat: no-repeat;
background-position:top;font-size:20px'><div align='center'><form>";
echo '<html><body><form><input type="button" OnClick="history.back()" value="Вернуться назад"><br>';
die('Ваше ФИО должно состоять только из букв латинского алфавита');
echo "</form></div></body></html>";}
else{
$iduser=mysql_query("select iduser from reg");
for ($i=0;$i<mysql_num_rows($iduser);$i++)
{
$row=mysql_fetch_array($iduser);
$idd=$row[0];
$idd=$idd+1;
}
$add=mysql_query("insert into reg set login='$login', email='$email', pas='$pas', pas1='$pas1', fio='$fio', datarod='$datarod', strana='$strana', gorod='$gorod', pol='$pol', deatel='$deatel'");
echo "<a href='index.php'><center>Перейти на главную страницу</center></a>";
echo "<html><body background='g/g4.png' style='background-repeat: no-repeat;
background-position:top;font-size:20px'><div align='center'><form>";
die('Регистрация прошла успешно');
echo "</form></div></body></html>";}
?>
Результат = 0! Пробовал кодировку и windows-1251, и utf8, и utf-8 как я привел сейчас......не пашет
Спустя 3 часа, 24 минуты, 51 секунда (18.03.2010 - 21:23) t-mac написал(а):
Буду очень признателен, если мне (да надеюсь, что и не только мне) помогут с этой очень нехорошей проблемой.....
Спустя 10 минут, 14 секунд (18.03.2010 - 21:33) DedMorozzz написал(а):
mysql_query ("SET NAMES utf8");пользуйся
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
Спустя 23 часа, 16 минут, 34 секунды (19.03.2010 - 20:50) t-mac написал(а):
Дед мороз - спасибо, но не работает... ![sad.gif](http://phpforum.ru/html/emoticons/sad.gif)
Ваши строки прописал в php файле - добавил новую запись в БД. Результат = 36 UTK 444 444 gren@eff.rt Sidorov Р РѕСЃСЃРёСЏ Краснодар polm 0000-00-00 Школота
![sad.gif](http://phpforum.ru/html/emoticons/sad.gif)
Ваши строки прописал в php файле - добавил новую запись в БД. Результат = 36 UTK 444 444 gren@eff.rt Sidorov Р РѕСЃСЃРёСЏ Краснодар polm 0000-00-00 Школота
Спустя 16 минут, 31 секунда (19.03.2010 - 21:07) Игорь_Vasinsky написал(а):
Сдаёться что они уже так записались в твою базу.
Конвертируй таблицу средствами phpmyadmin -> операции на UTF8
но помоему поздно.
Конвертируй таблицу средствами phpmyadmin -> операции на UTF8
но помоему поздно.
Спустя 16 минут, 58 секунд (19.03.2010 - 21:23) t-mac написал(а):
Нашел проблему......проблема была в том, что созданный txt файл был кодировки utf-8. Поменял на ANSI и все куллл..
Проблема закрыта.
Спасибо
Проблема закрыта.
Спасибо
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 31 минута, 46 секунд (19.03.2010 - 21:55) Игорь_Vasinsky написал(а):
прикольно. txt вдруг откуда невозмись взялся.
Спустя 10 часов, 48 минут, 7 секунд (20.03.2010 - 08:43) Reppa написал(а):
![user posted image](http://reppa.su/files/2.png)
А в самой таблице ты исправлял кодировку?
Ой, а проблему то решили. Страница вначале видимо из кеша загрузилась
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Спустя 4 дня, 10 часов, 36 минут, 2 секунды (24.03.2010 - 19:19) t-mac написал(а):
А причем тут .txt? Ведь файл .php можно открыть спокойно через блокнот.....
_____________
Омг.....php - это жесть...