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

Форум MySQL

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

 

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

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

тема: Избавиться от "???" в тексте (!SET NAMES)
 
 автор: Poison   (08.01.2007 в 10:16)   письмо автору
 
 

САБЖ как еще избавиться от ??? кроме mysql_query("SET NAMES 'cp1251' ");
Где еще можно что-то настроить (Php MyAdmin или в MySQL)

З.Ы: Таблица в cp1251 Сопоставление соединения с MySQL: cp1251
З.Ы.Ы: Думаю что неработает из-за "MySQL-кодировка: UTF-8 Unicode (utf8)" -воть этой фигни:) Но немогу найти где это настроить:((

   
 
 автор: cheops   (08.01.2007 в 14:06)   письмо автору
 
   для: Poison   (08.01.2007 в 10:16)
 

>З.Ы: Таблица в cp1251 Сопоставление соединения с MySQL: cp1251
Нет, это кодировка phpMyAdmin, она на данные не влияет. Возможно у вас данные уже запорчены безвозвратно и в базе лежать чистые знаки вопросов. Используйте mysql_query("SET NAMES 'cp1251' "); для помещение (INSERT) данные в базу даных, а потом используйте mysql_query("SET NAMES 'cp1251' "); для извлечения (SELECT). Только выполните цикл помещения от начала до конца с настройкой кодировки. Возможно у вас данные в базу легли без использования SET NAMES 'cp1251' - тогда в базе данных сейчас лежат чистые знаки вопросов, которые восстановить уже не удастся.

   
 
 автор: Poison   (08.01.2007 в 15:47)   письмо автору
 
   для: cheops   (08.01.2007 в 14:06)
 

Суть вся в том что ето только на локалке у меня так, на хосте все норм работает
ЗЫ Данные не запорчены=)

   
 
 автор: cheops   (08.01.2007 в 15:49)   письмо автору
 
   для: Poison   (08.01.2007 в 15:47)
 

А версия MySQL какая? Дамп как разворачиваете через phpMyAdmin?

   
 
 автор: Poison   (08.01.2007 в 16:09)   письмо автору
 
   для: cheops   (08.01.2007 в 15:49)
 

Версия: 5.0.22
Дамп не делал=)
Просто добавляю запросом через майадмин, захожу на сайт там все ???:(((

   
 
 автор: Poison   (09.01.2007 в 09:24)   письмо автору
 
   для: Poison   (08.01.2007 в 16:09)
 

^

   
 
 автор: cheops   (09.01.2007 в 12:48)   письмо автору
 
   для: Poison   (08.01.2007 в 16:09)
 

1) А в phpMyAdmin текст по русски выглядит?
2) У таблиц сортировка cp1251_general_ci?

   
 
 автор: Poison   (09.01.2007 в 14:06)   письмо автору
85.8 Кб
 
   для: cheops   (09.01.2007 в 12:48)
 

1) Да
2) Да
3) Скрин:) Может поможет

   
 
 автор: cheops   (09.01.2007 в 14:21)   письмо автору
 
   для: Poison   (09.01.2007 в 14:06)
 

Мистика, а в скрипте вывода используете
<?php
  mysql_query
("SET NAMES 'cp1251' ");
?>

и всё-равно знаки вопроса? Выполните скрипт
<?php
  phpinfo
();
?>

версия клиентской библиотеки для работы с MySQL какая?

   
 
 автор: Poison   (09.01.2007 в 14:53)   письмо автору
 
   для: cheops   (09.01.2007 в 14:21)
 

Да точно мистика:)) Через SET_NAMES все нормально:) Но охота настоить саму базу как пологаеться=)))

<версия клиентской библиотеки для работы с MySQL какая?
Client API version: 5.0.22

   
 
 автор: Poison   (09.01.2007 в 21:35)   письмо автору
 
   для: Poison   (09.01.2007 в 14:53)
 

---

   
 
 автор: Trianon   (09.01.2007 в 21:40)   письмо автору
 
   для: Poison   (09.01.2007 в 14:53)
 

База настроена.
SET NAMES - один из необходимых шагов подключения. Вы можете его загнать в INIT-CONNECT конфига сервера (правда лишь для пользователей, отличных от ROOT), но убрать совсем - не получится. - Сервер должен представлять, в какой кодировке с ним хотят общаться.

   
 
 автор: Poison   (09.01.2007 в 21:44)   письмо автору
 
   для: Trianon   (09.01.2007 в 21:40)
 

А можно поподробней где это настроить???
А почему для роот незя???

   
 
 автор: NIK   (09.01.2007 в 23:50)   письмо автору
 
   для: Poison   (09.01.2007 в 21:44)
 

когда я с этим столкнулся, нашёл вот эти запросы:


mysql_query("SET NAMES 'cp1251'");
mysql_query("SET collation_connection = 'cp1251_general_ci'");
mysql_query("SET collation_server = 'cp1251_general_ci'");
mysql_query("SET character_set_client = 'cp1251'");
mysql_query("SET character_set_connection = 'cp1251'");
mysql_query("SET character_set_results = 'cp1251'");
mysql_query("SET character_set_server = 'cp1251'");


и никогда они меня не подводили

   
 
 автор: Poison   (10.01.2007 в 00:27)   письмо автору
 
   для: NIK   (09.01.2007 в 23:50)
 

А ты знаешь что-то про INIT-CONNECT???:)))

   
 
 автор: cheops   (10.01.2007 в 00:33)   письмо автору
 
   для: Poison   (10.01.2007 в 00:27)
 

В секции [mysqld] конфигурационного файла my.ini поместите директиву
init_connect="SET NAMES 'cp1251'"

   
 
 автор: Poison   (10.01.2007 в 00:45)   письмо автору
 
   для: cheops   (10.01.2007 в 00:33)
 

А можно как-то настроить чтоб и для роот работала????

   
Rambler's Top100
вверх

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