| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > проблемы с кодировкой |
| Автор: Цербер 5.1.2008, 13:14 |
| русский текст превращается в абракадабру а текст из базы нормальный, header ставил не помогает!срочно люди нужна помощь! в базе кодировка cp1251. |
| Автор: DioNiR 5.1.2008, 14:14 |
| Я так и не понял какой текст у тебя аброкадаба |
| Автор: Цербер 5.1.2008, 14:20 | ||
обычный текст выводится после запуска скрипта! если ставлю window-1251 контект становится аброкадаброй а ссылки остаются нормальным текстом, а если ставлю utf-8 контент нормальный а ссылки абракадабра. контент хранится не в базе! |
| Автор: FractalizeR 5.1.2008, 17:31 |
| SET NAMES 'utf8' пробовали? |
| Автор: Цербер 5.1.2008, 17:37 | ||
я пробовал header и получалось то что было насисано выше. я думал SET NAME меняет кодировку только при выводе из базы, но теперь попробую, если есть ещё варианты оставляйте! все скрипты на работе, дома копий нету и проверить не могу! |
| Автор: Golda 7.1.2008, 01:52 | ||
Вы почти правильно думали. SET NAMES укзаывает MySQL серверу, в какой кодировке собирается с ним общаться клиент (как при вводе, так и при выводе информации). У Вас, судя по описанию, контент в хранится в UTF-8, а содержимое базы - в window-1251. FractalizeR посоветовал Вам поменять кодировку данных, приходящих из базы.
как раз и скажет серверу: "Отдавай мне данные в UTF-8". В результате данные из базы придут в той же кодировке, что и остальной контент. А дальше - с помощью header() укажите кодировку UTF-8, и все должно заработать. Другой вариант - менять кодировку остальной части контента, приведя ее из UTF-8 к Windows-1251. Если текст хранится отдельно, возможно, самое простое и удобное решение - перекодировать сам файл каким-нибудь редактором. Если по каким-либо причинам тербуется именно программное решение - используйте iconv или mbstring |