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

Форум MySQL

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

 

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

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

тема: Помогите с установкой кодировок MySQL
 
 автор: Razputin   (05.08.2005 в 12:53)   письмо автору
 
 

У меня проблема с кодировками. При создании таблици используется latin1, при cмене праметра
default-character-set=latin1
на
default-character-set=cp1251
таблица забивается вопросами, а со значениями по дефолту выводится в досовской кодировке. Такая же проблема с phpMyAdmin 2.6.3-pl1 после заполнения таблиц в браузер выводятся одни вопросы. Есть ли соображения на этот счет? Может это проблема с библиотекой libmysql.dll в PHP. Нет ли у кого нибудь исправленной версии?

   
 
 автор: cheops   (05.08.2005 в 17:50)   письмо автору
 
   для: Razputin   (05.08.2005 в 12:53)
 

При работе с MySQL 4.1 и выше в каждом сеантсе теперь следует устанавливать кодировку
<?php
mysql_query 
("set character_set_client='cp1251'"); 
mysql_query ("set character_set_results='cp1251'"); 
mysql_query ("set collation_connection='cp1251_general_ci'"); 
?>


http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=4467

   
 
 автор: Razputin   (05.08.2005 в 18:40)   письмо автору
 
   для: cheops   (05.08.2005 в 17:50)
 

Большое спасибо, помогло!!!

   
 
 автор: Chiemosh   (21.02.2006 в 01:56)   письмо автору
 
   для: Razputin   (05.08.2005 в 18:40)
 

скажите а куда нужно вписывать этот код, я что то не понял.
прям в конце php файла ?

   
 
 автор: cheops   (21.02.2006 в 12:48)   письмо автору
 
   для: Chiemosh   (21.02.2006 в 01:56)
 

Сразу после вызова функции mysql_connect().

   
 
 автор: magnezi   (24.02.2006 в 13:32)   письмо автору
 
   для: cheops   (21.02.2006 в 12:48)
 

Провайдер сменил MySQL v.3.23.58 на MySQL v.4.1.16, а я получил проблему кодировки.

<?php
  $dblocation 
"**********";
  
$dbname "********";
  
$dbuser "**********";
  
$dbpasswd "*********";

  
// Устанавливаем соединение с базой данных
  
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
  
mysql_query ("set character_set_client='cp1251'");
  
mysql_query ("set character_set_results='cp1251'");
  
mysql_query ("set collation_connection='cp1251_general_ci'");
  if (!
$dbcnx)
  {
    echo( 
"<p>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</p>" );
    exit();
  }

  if (! @
mysql_select_db($dbname,$dbcnx) )
  {
    echo( 
"<p>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</p>" );
    exit();
  }

>При работе с MySQL 4.1 и выше в каждом сеантсе теперь следует устанавливать кодировку........

Не помогло!
Сопостановление моей БД (cp1251_general_ci), на хосте (utf8_general_ci).
Мне порядком надоели ??????????, видеть их не могу :)))

   
 
 автор: cheops   (25.02.2006 в 12:37)   письмо автору
 
   для: magnezi   (24.02.2006 в 13:32)
 

Погодите, а кодировку по умолчанию и сопоставление у базы данных и таблицы вы изменяли?

   
 
 автор: magnezi   (26.02.2006 в 00:02)   письмо автору
 
   для: cheops   (25.02.2006 в 12:37)
 

Сопоставление соединения с MySQL: cp1251_general_ci,
Сравнение таблиц: cp1251_general_ci
С такими данными залил на хост, по умолчаню на хосте - utf8_general_ci, (не изменить).
Где и как я должен был чего изменить?

   
 
 автор: cheops   (26.02.2006 в 12:42)   письмо автору
 
   для: magnezi   (26.02.2006 в 00:02)
 

Оператор CREATE TABLE имел при разворачивании дампа параметр
 DEFAULT CHARSET=cp1251

PS Доступен ли вам phpMyAdmin?

   
 
 автор: magnezi   (26.02.2006 в 21:42)   письмо автору
 
   для: cheops   (26.02.2006 в 12:42)
 

Вот с такими параметрами заливал через MyAdmin. Все таблицы.
MyAdmin доступен.

CREATE TABLE 'answer' (
  'id_answer' int(10) NOT NULL auto_increment,
  'name' text,
  'pos' int(4) default NULL,
  'hit' int(10) default NULL,
  'id_poll' int(8) default NULL,
  PRIMARY KEY  ('id_answer')
) TYPE=MyISAM;

Если все дело в
>
 DEFAULT CHARSET=cp1251
,
то у меня такого параметра нет, и я так понимаю, все залилось по умолчанию в не пойми какую кодировку. :))
Ну если в этом дело, то OK! Осталось разобраться как указать параметры.
PS cheops - не в тему, но не могу в очередной раз не сказать Спасибо, учусь с Вами и пользуюсь вашей разработкой, (Книга практика создания)

   
 
 автор: cheops   (26.02.2006 в 23:08)   письмо автору
 
   для: magnezi   (26.02.2006 в 21:42)
 

Вы можете попытаться удалить все таблицы и воссоздать их так
CREATE TABLE answer ( 
  id_answer int(10) NOT NULL auto_increment, 
  name text, 
  pos int(4) default NULL, 
  hit int(10) default NULL, 
  id_poll int(8) default NULL, 
  PRIMARY KEY  ('id_answer') 
) TYPE=MyISAM DEFAULT CHARSET=cp1251;

или назначить кодировку при помощи оператора ALTER TABLE
ALTER TABLE answer DEFAULT CHARSET=cp1251

Правда операторы INSERT придётся выполнить по новой.

PS Спасибо за добрый отзыв :))).
PPS Попробуйте вставить запись прямо из phpMyAdmin - она добавляется корректно или тоже со знаками вопроса?

   
Rambler's Top100
вверх

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