LINUX.ORG.RU
ФорумAdmin

перенос сайта с win на bsd


0

0

Доброго времени суток. Возникла проблема при переносе сайта с издыхающего сервака win2k3 (готовая связка Appserv - apache+php+mysql) на сервер под freebsd (apache+php+mysql). В общем, после копирования php-скриптов сайта и экспорта/импорта БД на сайте вместо русских букв появляются знаки вопроса, при чем не везде - только там, где текст берется из БД. Пробовал импортировать базу в 2 кодировках - cp1251 и utf8, никакой разницы, пробовал менять сравнение (collate) таблиц базы на utf8 и cp1251, не помогло. База экспортируется со старого сервера в кодировке cp1251. Подскажите, пожалуйста, какие нужно поставить кодировку и сравнение в MySQL на FreeBSD. Или может быть проблема вообще не в этом? Как в таком случае продиагностировать и определить кто виноват? Заранее спасибо.

anonymous
Ответ на: комментарий от Sylvia

Честно говоря не уверен, но кажется да - все это добро на работе, удаленно посмотреть никак - все прикрыто. Appserv на винде стоит давно - года 2, скорее всего там мускул 4, на фряхе стоит 5.1.x (не помню точно)

anonymous
()
Ответ на: комментарий от Sylvia

экспорт с --default-character-set=utf8 уже пробовал, не помогло :(

anonymous
()

делаешь mysqldump

потом vim(nano, emacs, etc) этот самый dump и первой строчкой добавляешь
SET NAMES CP1251;

потом mysql < "изменённый dump"

должно сработать

dimon555 ★★★★★
()

текстовой дамп читаем?
1. дамп в какой кодировке по тексту посмотреть
2. проверить какая кодировка прописана в дампе для БД и таблиц, поправить текстовым редоактором до правильного если надо
3. при внедрении во freebsd mysql запускать с параметром --default-character-set=нужная кодировка

hizel ★★★★★
()
Ответ на: комментарий от hizel

Добавил в дамп строку

set names 'cp1251';

добавил в my.cnf строки

[client] default-character-set=cp1251

[mysqld] default-character-set=cp1251

делал импорт в phpMyAdmin в режиме совместимости с MYSQL40, не помогло(((

anonymous
()
Ответ на: комментарий от hizel

CREATE TABLE `e107_banlist` ( `banlist_ip` varchar(100) NOT NULL default '', `banlist_admin` smallint(5) unsigned NOT NULL default '0', `banlist_reason` tinytext NOT NULL, PRIMARY KEY (`banlist_ip`) ) TYPE=MyISAM;

insert'ов в дампе нет

anonymous
()
Ответ на: комментарий от hizel

попробовал

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=cp1251' at line 1

а данные вставляются replace'ом:)

anonymous
()
Ответ на: комментарий от anonymous

CREATE TABLE `e107_banlist` ( 
`banlist_ip` varchar(100) NOT NULL default '', 
`banlist_admin` smallint(5) unsigned NOT NULL default '0', 
`banlist_reason` tinytext NOT NULL, 
PRIMARY KEY (`banlist_ip`) 
) TYPE=MyISAM CHARACTER SET = 'CP1251'; 

hizel ★★★★★
()
Ответ на: комментарий от anonymous

есть возможность послать на почту кусок дампа
например с одной табличкой и данными к нему?
попробую у себя внедрить

мой ник - собако - яндекс.сру

hizel ★★★★★
()
Ответ на: комментарий от anonymous

Проблема решена..HIZEL , еще раз спасибо... Помогло следующее: в my.conf внедрите

[mysqld] default-character-set=cp1251 character_set_server = cp1251 collation_server = cp1251_general_ci skip-character-set-client-handshake

в php.ini или в вируталхост или в .htaccess для php опцию mysql.defaultcharset = windows-1251

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.