Показать сообщение отдельно
  #8  
Старый 26.08.2006, 14:37
alex-developer alex-developer вне форума
Аспирант
 
Регистрация: 06.03.2006
Сообщений: 94
Хорошо

Цитата:
Сообщение от openhosting
А вы это на MySQL 4.1 пробовали? дело в том что обычный php не выставляет кодировку клиента, потому что не вызывает функцию которую по мнению разработчиков MySQL
надо вызывать после соеденения. В результате клиенская кодировка = utf8
и если у Вас кодировка базы UTF-8 - начинается перекодирование из UTF-8 в latin1.

но конечно работает как-то... Но что бы работало нормально нужно либо иметь обе кодировки одинаковые, тоесть latin1, но тогда прощай правильная сортировка и поиск.
Либо таки выставить правильную кодировку клиента, тогда все будет правильно перекодироваться.

Веселье усугубляется тем что в MySQL кодировка задается сразу в 5-ти переменных.
В общем тем кто это все придумывал в MySQL явно погорячились, поэтому сейчас почти везде где поставили MySQL 4.1 и выше - большие проблемы с кодировками.

У нас патчь к php скрывает все это, пользователь вообще не замечает этих проблем.
В php.ini стоит клиенкая кодировка latin1, а базу можно создавать хоть в cp1251, хоть в UTF-8. Хотя как не странно, некоторые скрипты с базой в UTF-8 умудряются все равно не правильно работать. Например Mambo, если мне память не изменяет.

Так что не все так просто, при наличии нашего пача к php все еще проще
пробовал, так как разрабатываю все системы на php 5.1.x и mysql 4.1, потом всё это дело переносится в жизнь на хостинг у которых от php 4.1 и mysql 3.2 до последних версий, проблем никаких не замечал. а клиенту всё подается в UTF-8 кодировке, так что никакой конвертации нет.
А UTF-8 выбрал так как неохото было создовать подобных проблем с кодировками, так как для каждого языка нужно выдавать другую кодировку, а так всё в UTF-8 закатал пока всё работает нормально.

Цитата:
php не выставляет кодировку клиента
допустим что сервер настроен по умолчанию в cp1251, но никто же не запрещает использовать в php следующее:
utf8_encode($content);
где $content информация из базы, тем самым браузер сам заметит что инфо в utf-8 формате и клиенту подаст инфо в правильной читаемой кодировке.

Цитата:
но тогда прощай правильная сортировка и поиск.
почемуже, если всё дело в UTF-8 то и поиск работает и сортировка.
__________________
Профессиональный вебхостинг и онлайн проекты, на вебсайте.
Ответить с цитированием