Перенес сайт с другого хостинга - старый работал в ANSI, новый работает в UTF-8 в итоге все странички показывает кракозяблами - http://t6.asp-net.ru/forum/ как это можно убрать? спасибо
нет базу я переносил отдельно - я взял скрит в phpMyAdmin - сделал его разгрузку текстом, сохранил как текст в юникод и загрузил текстовый скрипт в DevArt - в итоге у меня в базе все нормально - юникод - я могу сделать отборы в базе - я все вижу без кракозяблов но кракозяблы у меня даже на статических заголовках страниц - не только на сообщениях, уложенных в базу
Ну если база нормальная, то установи то что сказал topas, установи заголовки и мета теги в utf-8 и посмотри. Контент из базы должен будет показываться нормально. Со статическими надписями надо разбираться отдельно - в частности взять iconv и сконвертировать файлы шаблонов из 1251 в utf8
PHP: <?php header('Content-Type: text/html; charset=utf-8'); mysql_query('SET NAMES utf8'); но повторюсь: вряд ли вам это поможет
спс, ну это уже хоть что-то - что можно попробовать а то я просто не пойму с какого бока за это хвататся
Php-beginners Первое: данные в базе данных должны лежать в той кодировке что и сама база данных. Если у вас, к примеру, данные в cp1251, БД настроена на UTF8 и вы пытаетесь положить данные "просто так", то естественно что у вас ничего хорошего не выйдет. Второе: При получении данных из БД необходимо выставить кодировку клиента. В php это делается с помощью mysql_query('set names utf8'); т.е. тем самым мы сообщаем БД что работаем в utf8 и хотим видеть данные именно в этой кодировке. Третье: сообщаем http-клиенту, что контент, который мы отдаем находится в кодировке UTF-8: header('Content-type ...'); Если у вас проблема в первом, то остальное не имеет смысла
еще раз спасибо за исчерпывающий план - постараюсь победить эту проблему с кодировками я вообще-то до этого работал на NET-платформе там все просто - всегда и везде юникод - это изначальная задумка Win c PHP получается сложнее - тут все исторически унаследовано от юникосв, где работают в ANSI, а юникод появился гораздо позднее - и перенос с чисто юникосвого хостинга на win-хостинг - это да...
Омг. Как бы исторически в юниксах KOI8-R, а cp-1251(который, если я правильно помню, как раз делался по стандарту ANSI) это Win И юникод в Win появился несколько позже 2000го года, а первая Win появилась в 84м что ли году. Но это так... лирика.
Php-beginners Интересные у вас данные И не "кракозяблы", а "кракозябры". Используйте корректную терминологию
To Simpliest. Да вы правы, я нечетко эту мысль с кодировками сформулировал. Щас колдую с этими кодировками в этом портале. Хотелось бы до вечера их победить..