перенос сайта с windows на freebsd

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
DFC
проходил мимо

перенос сайта с windows на freebsd

Непрочитанное сообщение DFC » 2008-12-26 21:06:31

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

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

jeehadina
мл. сержант
Сообщения: 93
Зарегистрирован: 2008-04-07 8:59:20

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение jeehadina » 2008-12-26 21:34:30

кодировка в mysql на 4 уровнях. таблицы, бд, сервера и соединения. если не напутал :-D
ну в общем тут нужно плясать.
я не баба, я - мужик...
(это чтоб никто не путал)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение zg » 2008-12-26 21:38:20

http://anton-pribora.ru/articles/locales/index.php что такое локали
http://anton-pribora.ru/articles/php-common/index.php как писать кросс-платформенные скрипты на пхп
http://anton-pribora.ru/articles/mysql- ... .php#begin почему появились вопросики

:smile:

Гость
проходил мимо

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение Гость » 2008-12-26 21:40:14

На сколько я понимаю, я менял кодировку на уровне таблиц и базы. А как сменить кодировку на других уровнях? Да, кстати перенос базы идет с mysql 4 -> mysql 5. Это как-то влияет?

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение zg » 2008-12-26 21:44:35

Гость писал(а): Это как-то влияет?
влияет, если мускул был до 4.1.11
Гость писал(а): А как сменить кодировку на других уровнях?
дамп надо правильно делать и заливать

DFC
проходил мимо

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение DFC » 2008-12-26 21:53:47

zg писал(а):http://anton-pribora.ru/articles/locales/index.php что такое локали
http://anton-pribora.ru/articles/php-common/index.php как писать кросс-платформенные скрипты на пхп
http://anton-pribora.ru/articles/mysql- ... .php#begin почему появились вопросики

:smile:
:( дело осложняется тем что
1)я не пхп программер, а админ и копаться в чужом коде меня вообще не радует
2) в PHPMyAdmin при просмотре содержимого таблиц импортированной БД все надписи в порядке, проблема возникает именно во время работы движка сайта... то ли он как-то неправильно обрабатывает строки из БД то ли мускул выдает их ему не правильно - не совсем понятно...

DFC
проходил мимо

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение DFC » 2008-12-26 21:55:58

zg писал(а):дамп надо правильно делать и заливать
А можно поподробней? phpMyAdmin стоит на обоих сервах.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение zg » 2008-12-26 21:59:35

проверь дамп на наличие latin1

DFC
проходил мимо

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение DFC » 2008-12-26 22:02:53

в дампе нет вообще указания кодировки, пробовал экспорт с ключами --default-character-set=utf8, и --default-character-set=cp1251, не помогло :(

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение zg » 2008-12-26 22:06:09

дамп в какой кодировке? по идее в cp1251 должен быть

если так, то проверь на наличие в комментах SET names, если таковой не имеется, то нужно добавить в самое начало

Код: Выделить всё

set names 'cp1251';
и импортировать, базу тоже нужно будет создать с кодировкой cp1251.

DFC
проходил мимо

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение DFC » 2008-12-26 22:09:16

Да, дамп в cp1251. Спасибо, попробую, правда, теперь только в понедельник - в выходные надо отдыхать :)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение zg » 2008-12-26 22:16:15

настоятельно рекомендую почитать статью про кодировки в мусе, это к программированию не относится
DFC писал(а): PHPMyAdmin при просмотре содержимого таблиц импортированной БД все надписи в порядке, проблема возникает именно во время работы движка сайта... то ли он как-то неправильно обрабатывает строки из БД то ли мускул выдает их ему не правильно - не совсем понятно...
гм... покажи структуру залитой таблицы какой-нить, главным образом charset

и надо сделать правильную настройку мускула http://anton-pribora.ru/articles/mysql- ... rset-mycnf

Код: Выделить всё

---- Файл my.cnf
[client]
# Для местного клиента
default-character-set=cp1251
....

[mysqld]
# Для всего сервера
default-character-set=cp1251
....

DFC
проходил мимо

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение DFC » 2008-12-26 22:36:16

Это получится сделать только в понедельник, ибо вся эта радость ждет меня на работе, удаленно админить нет возможности.

DFC
проходил мимо

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение DFC » 2008-12-26 22:39:23

zg писал(а): и надо сделать правильную настройку мускула http://anton-pribora.ru/articles/mysql- ... rset-mycnf
Кстати, а это относится к мускулу любой версии? Помнится, я сегодня залазил в my.cnf но таких параметров там не нашел...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение zg » 2008-12-27 7:22:05

DFC писал(а):Кстати, а это относится к мускулу любой версии? Помнится, я сегодня залазил в my.cnf но таких параметров там не нашел...
их надо самому прописывать
DFC писал(а):ибо вся эта радость ждет меня на работе
читать то никто не запрещает -))))
DFC писал(а):удаленно админить нет возможности.
может оно и к лучшему -))))

dfc
проходил мимо

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение dfc » 2008-12-29 13:30:57

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

Код: Выделить всё

set names 'cp1251';
добавил в my.cnf строки

Код: Выделить всё

[client]
default-character-set=cp1251

[mysqld]
default-character-set=cp1251
делал импорт в phpMyAdmin в режиме совместимости с MYSQL40, не помогло((( :st:

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение thefree » 2008-12-29 14:49:56

Скорее всего у нас по умолчанию кодировка для соединения с базой стоит utf8.
В скрипте после коннекта с база добавить строки.

Код: Выделить всё

mysql_query("SET NAMES 'cp1251'");  
mysql_query("SET CHARACTER SET 'cp1251'"); 
http://dev.mysql.com/doc/refman/5.0/en/ ... ction.html
http://www.php.com.ua/forum/viewtopic.php?t=7193
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

DFC
проходил мимо

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение DFC » 2008-12-29 16:14:23

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

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение thefree » 2008-12-29 19:02:14

2. Изменять кодировку для соединения можно:
а) явно в каждом конекте через комманды
SET character_set_client =foo
SET character_set_results =foo
SET character_set_connection=foo

эти команды можно дать проще:
а1) Макрос "SET NAMES foo"
а2) Макрос "SET CHARACTER SET foo" (collation будет задаваться не явно, а от выбранной mysql_select_db)

б) указать административно на сервере my.cnf:
skip-character-set-client-handshake
init-connect="SET CHARACTER SET cp1251"
Обратите внимание на предоставленные ссылки.
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение zg » 2008-12-30 22:54:42

thefree писал(а):Скорее всего у нас по умолчанию кодировка для соединения с базой стоит utf8.
а проверить никак?
DFC писал(а):а нельзя ли как-нибудь без редактирования php-скриптов? ну не знаю я пхп и копаться в чужом коде не хотелось бы.
можно, база через пма нормально видится?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: перенос сайта с windows на freebsd

Непрочитанное сообщение hizel » 2008-12-30 23:18:50

В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.