нужна небольшая помощь в mysql

zhenshen

Вселенское Зло
Народ, помогите, плиз, у меня есть база с таблицой, делаю ее вывод в пхп- то что написал в printf (Сотрудник), как и заголовок страницы- выводится нормально, а то, что тянется с базы- отображается квадратиками, меняю кодировку с юникода на цп1251- вижу нормально, что выводится с базы, а заголовок и то, что написано в printf - отображается кракозяблами. :cry:Как в мускуле кодировку сменить? У меня на локалхосте он крутится, MySQL 3.23.53-max

Вот пример кода:


$db = mysql_connect("localhost", "zhenshen", ""); //соединяемся с базой
mysql_select_db("firstbd", $db); //выбрали базу
$result = mysql_query("SELECT * FROM firma",$db); //выборка с таблицы по всем полям
$myrow = mysql_fetch_array ($result); //вывести результат первой строки в таблице

do
{
printf ("Сотрудник N - %s<br>%s<br>%s<br>%s<br><br>",$myrow['id'],$myrow['name'],$myrow['lastname'],$myrow['dol']); //поставил якори на каждом поле таблицы
}
while ($myrow = mysql_fetch_array ($result)); //делаем цикл, пока не закончатся строки таблицы



И вот результат:


Сотрудник N - 1
�������
��������
��������

Сотрудник N - 2
����
������
�����������

Сотрудник N - 3
���������
����������
�����������

Если данные заношу через веб-форму, а не через непосредственно код- все отображается хорошо:CONCUSSION:
 

zhenshen

Вселенское Зло
Вот как устроена форма, с помощью которой все нормально в базу заносит:

<form action="mysql_insert.php" method="post" name="form">
<p>Введите имя сотрудника: <br><input name="name" type="text" size="20" maxlength="40"></p>
<p>Введите фамилию: <br><input name="lastname" type="text" size="20" maxlength="40"></p>
<p>Введите должность: <br><input name="dol" type="text" size="20" maxlength="40"></p>
<p><input name="submit" type="submit" value="Занести нового сотрудника в базу"></p>
</form>
а вот файл инсерт.пхп:

/*if (isset($_POST['name']))
{
$name = $_POST['name'];
}

if (isset($_POST['lastname']))
{
$lastname = $_POST['lastname'];
}

if (isset($_POST['dol']))
{
$dol = $_POST['dol'];
} */ ---практикуюсь в защите от тупых хостингов

$db = mysql_connect("localhost", "zhenshen", "");
mysql_select_db("firstbd", $db);


$result = mysql_query("INSERT INTO firma (name,lastname,dol) VALUES ('$name','$lastname','$dol')");

if ($result == 'true')
{
echo "Информация в базу занесена успешно!";

}
else
{
echo "Информация в базу не добавлена!";
}

В каждом файле в шапке
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
не пойму, как в другой кодировке инфу передать*HELP*
 

zhenshen

Вселенское Зло
Увидел, что даже если данные заношу через веб-форму- в мускуле они тоже отображаются кракозяблами, хотя выводятся по запросу нормально.:confused:
 

Maugli

New Member
Ну у меня есть мелкое подозрение, что БД у тебя в цп-1251, но как вариант переиодически спасает задание кодировке базе явно:
mysql_query("SET NAMES cp1251");
mysql_query("SET character_set_database=cp1251");
mysql_query("SET character_set_server=cp1251");
вместо цп1251, поставь то, что тебе нужно.
 

sensey

Вождь
zhenshen, Другими словами, кодировка страницы и базы данных отличаются.
 

zhenshen

Вселенское Зло
sensey, это я и так понимаю, вопрос был- как сменить кодировку. Вечером попробую мауглин вариант
 

zhenshen

Вселенское Зло
Разобрался. Нужно установить более новый денвер или поставить апач с пхп и мускулью отдельно
 

Similar threads


Сверху