EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

кодировка БД
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Техническая поддержка
кодировка БД
Автор Сообщение
eomysupport
Администратор
Администратор


Зарегистрирован: 25.12.2005
Сообщения: 5713

271055 Монеты

СообщениеДобавлено: Чт, 28 Сен, 2006 10:24    Заголовок сообщения: Ответить с цитатой

Увы, я уже что мог — то написал, больше информации на эту тему у меня, к сожалению, нет. Вы попробовали то, что я описывал выше?
_________________
Дмитрий

Часто задаваемые вопросы по хостингу
Условия предоставления услуг бесплатного хостинга
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
didaio



Зарегистрирован: 20.09.2006
Сообщения: 4

0 Монеты

СообщениеДобавлено: Чт, 28 Сен, 2006 12:16    Заголовок сообщения: Ответить с цитатой

Да, пробовал.
В итоге помогло добавление параметров кодировки (cp1251) в пхп-скрипт, а данные в базе - в utf8. Только так всё на сайте отображается нормально.

Еще нашел сообщение у другого хостера, которое, похоже, связано с этой проблемой. Может быть оно поможет Вам разобраться и у себя.
http://forum.openhosting.ru/index.php?t=msg&th=25
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Дедушка Стри
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 16.10.2006
Сообщения: 173
Откуда: Украина, Луганск
4309 Монеты

СообщениеДобавлено: Вс, 29 Окт, 2006 02:04    Заголовок сообщения: Ответить с цитатой

Нде...
И все же вопрос с кодировкой БД актуален. К примеру, имеется база форума, которая с мускуля 3.23 сохраняется в cp1251. Сохраняю базу Sypex Dumper'om (бывший Site Keeper Dumper). На EOMY кодировка стоит utf8. Оки, с помощью Macromedia Dreamweaver база перегоняется в оный юникод. Однако после установки базы на форуме все равно выдаются вопросики. При этом языковые файлы, также рекодированные в юникод, отображаются без проблем. База же корректно отображается в ПхпАдмине.
Если прописать в скрипте использования БД
mysql_query('SET NAMES UTF8');
mysql_query('SET CHARACTER SET UTF8');
mysql_query("SET collation_connection='utf8_general_ci'");
то вопросики превращаются в текст. Но при этом нарушается работа форума. Да и количество запросов к серверу ведь возрастает, а форум и так в этом плане скромностью не страдает.
Возможно ли, что без указания чарсета при использовании БД, данные выдаются пользователю в другой кодировке? К примеру, чарсет сервера и ряд других переменных стоят latin1.

Также вопрос к хостеру - а можно ли поднять отдельный сервер для русских пользователей с используемой кодировкой cp1251? Rolling Eyes

Если у кого-то имеется успешный опыт переноса БД с кодировкой в cp1251 на данный хостинг, отпишитесь, пожалуйста, как Вы решили проблему с конвертацией данных.

С уважением.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Дедушка Стри
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 16.10.2006
Сообщения: 173
Откуда: Украина, Луганск
4309 Монеты

СообщениеДобавлено: Вс, 29 Окт, 2006 04:09    Заголовок сообщения: Ответить с цитатой

Упс, прошу прощения, проблемка решена.

Что собственно необходимо сделать при переносе базы данных из mysql ранних версий в mysql-4.1:

- перед заливкой бэкапа MySQL со старого хостинга на EOMY в самом начале дампа добавляем

Код:
SET collation_connection = cp1251_general_ci;
SET collation_database = cp1251_general_ci;
SET collation_server = cp1251_general_ci;
SET character_set_client = cp1251;
SET character_set_connection = cp1251;
SET character_set_database = cp1251;
SET character_set_results = cp1251;
SET character_set_server = cp1251;


- заливаем на EOMY, рекомендую пользоваться Sypex Dumper'om, это большая экономия Вашего времени по сравнению с phpMyAdmin

- скачиваем дамп базы с EOMY обратно (таким образом появляется новый параметр CHARSET в таблицах, данные в INSERT теперь в utf-Cool

- ищем файлы, которые отвечают за подключение к БД в Вашем скрипте и прописываем там в правильном оформлении
SET NAMES cp1251;

Для форумов IPB 2.1:

открыть \ips_kernel\ class_db_mysql.php
найти:
Код:
if ( ! mysql_select_db($this->obj['sql_database'], $this->connection_id) )
{
$this->fatal_error();
return FALSE;
}

вставить после:
Код:
mysql_query('SET NAMES cp1251');


открыть \sources\ipsclass.php
найти:
Код:
$this->DB->connect()

вставить после:
Код:
mysql_query('SET NAMES cp1251');
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
larstas
Пол-пирога
Пол-пирога


Зарегистрирован: 09.12.2006
Сообщения: 88
Откуда: Украина, Луганск
4430 Монеты

СообщениеДобавлено: Пт, 15 Дек, 2006 05:53    Заголовок сообщения: Ответить с цитатой

Дедушка Стри! Привет, земеля! Я тоже из Луганска. Хотя эт не так важно. Нашел, как исправить данный глючок. Ты писал:

Дедушка Стри писал(а):
SET collation_connection = cp1251_general_ci;
SET collation_database = cp1251_general_ci;
SET collation_server = cp1251_general_ci;
SET character_set_client = cp1251;
SET character_set_connection = cp1251;
SET character_set_database = cp1251;
SET character_set_results = cp1251;
SET character_set_server = cp1251;


Да - отличная идея, и все бы хорошо, да только в Слайде (ЦМС такая) не помогает предложенная тобой вставка кода в функции соединения с БД. И я придумал другое решение:

Просто когда мы грузим на сервер дамп, то лучше грузить его через раздел "Импорт", а не "SQL". В таком случае нам нужно загружать на сервак файл дампа. Дамп у нас, как уже говорилось в win-1251. Смотрим в разделе "Импорт": Кодировка файла и меняем с изначально установленного UTF-8 на нормальный руссич - cp1251.

Товарищи, просьба отписаться у кого что получается и каким образом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
madhamster
Согнул ложку
Согнул ложку


Зарегистрирован: 09.10.2006
Сообщения: 902

460 Монеты

СообщениеДобавлено: Пт, 15 Дек, 2006 10:57    Заголовок сообщения: Ответить с цитатой

У меня всё заработало после того как добавил строку mysql_query("set names'cp1251'"); это что касалось востоновления базы.

А если ставлю новый двиг то всё впорядке...
_________________
NextStage - live music competition
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Дедушка Стри
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 16.10.2006
Сообщения: 173
Откуда: Украина, Луганск
4309 Монеты

СообщениеДобавлено: Пт, 15 Дек, 2006 20:15    Заголовок сообщения: Ответить с цитатой

larstas, предложенное решение универсальное.
Возможно, в файлах SLAED, отвечающих за подключение к БД, Вы неправильно, либо же не там где надо прописали SET NAMES cp1251.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
larstas
Пол-пирога
Пол-пирога


Зарегистрирован: 09.12.2006
Сообщения: 88
Откуда: Украина, Луганск
4430 Монеты

СообщениеДобавлено: Сб, 16 Дек, 2006 09:43    Заголовок сообщения: Ответить с цитатой

Дедушка Стри, ну ты мна обижаешь. Я вроде бы как бы сам программер и сам могу сделать класс для работы с БД. Поэтому неправильное вписание кода исключено. Я же просто нашел новый способ для избежания этой распространенной ошибки.
Кстати, это стоило мне установки МуСКуЛа той же версии, что и у хостера и МуАдмина той же версии. ВСе прекрасно Smile
Спасибо, кстати за помощь.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Дедушка Стри
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 16.10.2006
Сообщения: 173
Откуда: Украина, Луганск
4309 Монеты

СообщениеДобавлено: Сб, 16 Дек, 2006 16:07    Заголовок сообщения: Ответить с цитатой

Рад, что все у Вас работает. Если чем-то Вас обидел - прошу прощения, я этого не хотел.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
larstas
Пол-пирога
Пол-пирога


Зарегистрирован: 09.12.2006
Сообщения: 88
Откуда: Украина, Луганск
4430 Монеты

СообщениеДобавлено: Сб, 16 Дек, 2006 20:54    Заголовок сообщения: Ответить с цитатой

Дедушка Стри, все ОК! Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Хортица
Пол-пирога
Пол-пирога


Зарегистрирован: 13.06.2006
Сообщения: 91
Откуда: о.Хортица
10154 Монеты

СообщениеДобавлено: Пн, 18 Дек, 2006 12:05    Заголовок сообщения: Ответить с цитатой

Товарищи!
Подскажите получайнику Embarassed ...
В CMS установил кодировку UTF8
В phpMyAdmin тоже UTF8
Когда редактирую и просматриваю новость все отображается коректно, когда отправляю новость на сайт, там вместо русских символов "????"
Как быть?!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Хортица
Пол-пирога
Пол-пирога


Зарегистрирован: 13.06.2006
Сообщения: 91
Откуда: о.Хортица
10154 Монеты

СообщениеДобавлено: Пн, 18 Дек, 2006 13:24    Заголовок сообщения: Ответить с цитатой

у кого движек ДЛЕ и будет подобная проблема пишите в личку или icq!
моя проблема уже решилась...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Davis
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 17.07.2006
Сообщения: 33

807 Монеты

СообщениеДобавлено: Пн, 08 Янв, 2007 05:25    Заголовок сообщения: Ответить с цитатой

У меня самописный сайт расчитаный как раз на UTF-8
но всё равно вопросительные знаки вместо буковок в гостевой. Сейчас решаю.
http://CFreeLancer.Zoxt.Net
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Davis
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 17.07.2006
Сообщения: 33

807 Монеты

СообщениеДобавлено: Пн, 08 Янв, 2007 06:52    Заголовок сообщения: Ответить с цитатой

Не сочтите за пеар только.
Уже поправил вроде.
Главное не забывать указывать кодировку при создании таблицы.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
KAIN
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 26.12.2006
Сообщения: 46

1829 Монеты

СообщениеДобавлено: Пн, 08 Янв, 2007 13:57    Заголовок сообщения: Ответить с цитатой

кхм народ, наверняка у Вас есть файл config.php ?
Вам всего лишь нужно прописать в этом файле вот это:
Код:
<?
$dblocation = "localhost";
$dbname = "XXX";
$dbuser = "xxx";
$dbpasswd = "XXX";
  $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
  mysql_select_db($dbname);

[b]mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");[/b]
?>


Всё просто!
Сначала у меня была та же проблема что и у Вас.
Я её попраил именно этим способом, дело в том, что нужно задавать кодировку не только входным параметрам но и выходным - так надёжнее.
Всем удачи и приятного дня!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Техническая поддержка Часовой пояс: GMT
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
Страница 2 из 8

 


Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group