Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Изменение кодировки перед добавлением в базу
 
 автор: itica   (12.03.2006 в 19:48)   письмо автору
 
 

У меня такая проблема: передаю данные через форму, на следующей странице записываю их в базу, а когда проверяю содержимое через phpmyadmin, выводится всё в кодировки UTF-8.

   
 
 автор: cheops   (13.03.2006 в 00:39)   письмо автору
 
   для: itica   (12.03.2006 в 19:48)
 

1) А в какой кодировке данные помещаются в базу данных?
2) В какой кодировке данных нужны?
3) Какая версия MySQL используется?
4) Как проверяете кодировку? (phpMyAdmin сам может в UTF-8 выводить данные - особенно новые версии с новыми же версиями MySQL - на сайте как раз будет всё нормально).

   
 
 автор: itica   (13.03.2006 в 09:23)   письмо автору
 
   для: cheops   (13.03.2006 в 00:39)
 

Отвечу также по пунктам:
1) На всех страницах сайта определяю кодировку Windows-1251;
2) В ней же и нужны;
3) MySQL 4.0.26;
4) Смотрю и на сайте и в phpmyadmin, веэде выводится в UTF-8 (а мне надо в Windows-1251).

   
 
 автор: Trianon   (13.03.2006 в 10:59)   письмо автору
 
   для: itica   (13.03.2006 в 09:23)
 

Странно, что не работает. Чудеса на свете встречаются нечасто, а
Приведите краткий пример неработающего кода.

1.Соединился с сервером, выбрал базу.
2.Отправил запрос на добавление текста в таблицу в некоторое поле.
3.Напечатал добавляемый текст. 
4.Отправил запрос на извлечение текста из этого поля таблицы
5.Напечатал извлеченный текст.


А мы попробуем проверить.

   
 
 автор: itica   (13.03.2006 в 11:46)   письмо автору
 
   для: Trianon   (13.03.2006 в 10:59)
 

Привожу пример кода, обрезаный, но с тиким же коичеством страниц:
index.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
<title>Документ без имени</title>
</head>
<body>
<form id="form1" name="form1" method="get" action="index1.php">
    <input type="text" name="name">
          <input name="Submit" type="submit" id="Submit" value="Отправить">
</form>
</body>
</html>

index1.php

<!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=Windows-1251" />
<title>Документ без имени</title>
</head>
<html>
<meta http-equiv="refresh" content="0; URL=test/index.php?name=<? echo $name?>">
</html>

test/index.php

<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
</head>
<?
 $dbh
=mysql_connect ("localhost""itica""password") or die ('I cannot connect to the database because: ' mysql_error());
mysql_select_db ("port");

mysql_query("INSERT INTO obshie_messages VALUES ('$name', NOW(), '', '')") or die(mysql_error()); 
?>
<iframe width=200 height=225 src="index1.php"</iframe>

test/index1.php

<!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=Windows-1251" />
</head>
<? 
$dbh
=mysql_connect ("localhost""itica""password") or die ('I cannot connect to the database because: ' mysql_error());
mysql_select_db ("port");

$ath mysql_query("select * from obshie_messages;");
if(
$ath)
{
  while(
$row mysql_fetch_object($ath))
  {
    echo 
"$row->name",": ";
   
  }
}
else
{
  echo 
"<p><b>Error: ".mysql_error()."</b><p>";
  exit();
}
?>

Увы, но меньшим количеством страниц мне не обойтись :(

   
 
 автор: Trianon   (13.03.2006 в 12:13)   письмо автору
 
   для: itica   (13.03.2006 в 11:46)
 

гляньте, плиз, сюда.

   
 
 автор: itica   (13.03.2006 в 22:27)   письмо автору
 
   для: Trianon   (13.03.2006 в 12:13)
 

Не помогло...

   
 
 автор: Trianon   (14.03.2006 в 11:00)   письмо автору
 
   для: itica   (13.03.2006 в 22:27)
 

Не помогло что? В репликах 12.03.2006 в 18:54,12.03.2006 в 20:49 Вы ничего не нашли?

   
 
 автор: itica   (14.03.2006 в 12:55)   письмо автору
 
   для: Trianon   (14.03.2006 в 11:00)
 

Сделал как там написано, но никаких изменений не произошло :(

   
 
 автор: Trianon   (14.03.2006 в 13:14)   письмо автору
 
   для: itica   (14.03.2006 в 12:55)
 

Вы создали заново БД, таблицы? Добавили заново записи?

   
 
 автор: itica   (15.03.2006 в 14:14)   письмо автору
 
   для: Trianon   (14.03.2006 в 13:14)
 

Да, конечно!

   
 
 автор: itica   (15.03.2006 в 16:47)   письмо автору
 
   для: itica   (15.03.2006 в 14:14)
 

Причём, если не испоьзовать первые два файла, то всё происходит нормально! Но ошибку найти не могу. ПОМОГИТЕ!!!

   
 
 автор: Trianon   (15.03.2006 в 16:52)   письмо автору
 
   для: itica   (15.03.2006 в 16:47)
 

<meta http-equiv="refresh" content="0; URL=test/index.php?name=<? echo $name; ?>">
Вот тут строка передается совершенно без обрамления. Это не есть хорошо.
Но это не имеет абсолютно никакого отношения к БД MySQL

   
 
 автор: itica   (16.03.2006 в 10:53)   письмо автору
 
   для: Trianon   (15.03.2006 в 16:52)
 

А не подскажите, как это исправить, или заменить данную строку.

   
 
 автор: Trianon   (16.03.2006 в 11:09)   письмо автору
 
   для: Trianon   (15.03.2006 в 16:52)
 

например, так.
<meta http-equiv="refresh" content="0; URL=test/index.php?name=<? echo urlencode($name); ?>">

   
 
 автор: itica   (16.03.2006 в 12:59)   письмо автору
 
   для: Trianon   (16.03.2006 в 11:09)
 

ОК, попробую!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования