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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: PHP, MySQL и кодировка

Сообщения:  [1-10]   [11-15] 

 
 автор: Minstel   (08.01.2011 в 14:47)   письмо автору
 
   для: Trianon   (08.01.2011 в 14:32)
 

Все, понятно.) Большое спасибо за помощь.)

  Ответить  
 
 автор: Trianon   (08.01.2011 в 14:32)   письмо автору
 
   для: Minstel   (08.01.2011 в 14:30)
 

в консолmyjv клиенте (для просмотра), устанавливая соединение, нужно исполнять запрос SET NAMES 'cp866';

  Ответить  
 
 автор: Minstel   (08.01.2011 в 14:30)   письмо автору
 
   для: Trianon   (08.01.2011 в 14:08)
 

А-а... Кажется, понял.) Дело в том, что я проверяю качество записи через коноль MySQL... Записываю из скрипта, а потом смотрю в консоль. Но если она работает в какой-то своей кодировке, так, наверное, и должно быть - она не будет правильно воспринимать некоторую информацию, записанную из скрипта. Хотя все и записано правильно.
Все действительно может быть так? Если да, тогда вопрос снимается.))

  Ответить  
 
 автор: Trianon   (08.01.2011 в 14:08)   письмо автору
 
   для: Minstel   (08.01.2011 в 13:37)
 

Вот Вы написали
Русские символы записываются в базу данных в виде абракадабры,

Откуда был сделан такое вывод, если обратно все выводится без проблем?
Где Вы усмотрели абракадабру?

  Ответить  
 
 автор: Minstel   (08.01.2011 в 13:37)   письмо автору
 
   для: lightning.say   (08.01.2011 в 02:01)
 


mysql>SHOW CREATE DATABASE users;

......    CREATE DATABASE 'users' /*!40100 DEFAULT CHARACTER SET cp1251



mysql>SHOW CREATE TABLE systemNews;

...... DEFAULT CHARSET=cp 1251

  Ответить  
 
 автор: Trianon   (08.01.2011 в 12:07)   письмо автору
 
   для: lightning.say   (08.01.2011 в 12:03)
 

Запрос SHOW VARIABLES выдает сессионные значения.
Сессии-то явно разные, так что настройки соединения у них могут (и по большому счету должны) быть выполнены по-разному - Windows-консоль по умолчанию работает в 866 кодовой странице.

сессией (в данном контексте) я называю сеанс подключения клиента БД к серверу БД

  Ответить  
 
 автор: lightning.say   (08.01.2011 в 12:03)   письмо автору
 
   для: Trianon   (08.01.2011 в 11:42)
 

->Кстати запрос SHOW VARIABLES LIKE '%char%' имеет смысл издать из скрипта. Уж коль
->скоро Вам не нравится ситуация со скриптовым подключением (а не с консольным).
А одни и те же переменные из под скрипта и в консоли могут принимать разные значения, в каком случае?

  Ответить  
 
 автор: Trianon   (08.01.2011 в 11:42)   письмо автору
 
   для: Minstel   (08.01.2011 в 11:07)
 

Если в запросе на создание таблицы Вы не указали кодировку, кодировка таблицы была унаследована из кодировки базы данных. И могла оказаться неверной.
Кодировка БД сама по себе тоже могла быть установлена запросом создания (изменения свойств) БД, а могла быть унаследована из кодировки сервера на момент создания.
Кстати запрос SHOW VARIABLES LIKE '%char%' имеет смысл издать из скрипта. Уж коль скоро Вам не нравится ситуация со скриптовым подключением (а не с консольным).
Ну и действительно SHOW CREATE TABLE tbl; и SHOW CREATE DATABASE db; могут прояснить ситуацию.

  Ответить  
 
 автор: Minstel   (08.01.2011 в 11:07)   письмо автору
 
   для: Trianon   (07.01.2011 в 22:57)
 

Если я правильно вас понял, нужно посмотреть, каков результат вывода строки такого запроса в браузер? Если да, то если произвести этот вывод, русские буквы сохраняются, никаких неизвестных символов не появляется. Зато обнаружилось, что неправильно выводится время. Стало быть, ошибка с датой находится в коде самого скрипта, и к базе данных отношения не имеет.
Ошибку эту нашел и исправил. Большое спасибо.)
Осталась проблема с русскими символами.

  Ответить  
 
 автор: lightning.say   (08.01.2011 в 02:01)   письмо автору
 
   для: Minstel   (07.01.2011 в 21:59)
 

MYSQL команда
SHOW CREATE TABLE ИМЯ_ВАШЕЙ_ТАБИЦЫ;
в DEFAULT CHARSET что пишет?

  Ответить  

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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