MainRadiotalkCustom
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

Опять проблем с кодировкой в samPHPweb

 

10
spryart @spryart
Всем здравствуйте!

Проблема с отображением русских букв.

У меня стоял php-5.2.17 и страницы сайта были charset=windows-1251 и теги на кириллице отображались нормально. Решил поставить php-5.3.20
и после установки его, на сайте все русские буквы стали иероглифами. Я поменял charset=utf-8 и пересохранил страницы. Русский текст страниц стал отображаться нормально. А вот там где samPHP выдергивает из базы названия песен, по прежнему иероглифы.

Ну я решил это из-за того ,что у меня в самой базе иероглифы отображаются (т.к. теги вбивал на русском, а все таблицы в базе с utf-8)
Тогда я решил с помощью php функции переконвертирвать то, что у меня поступает из базы в кодировку с какой вносились теги)
получилось:
echo iconv("cp866", "UTF-8", iconv("UTF-8", "cp866", $topRequestedSong->artist_title;));

т.е. что-то типа из иероглифов utf8 которые в базе перевожу в cp866, но т.к. у меня страница уже utf-8 перевожу снова из cp866 в utf8
но это не работает, пробывал WINDOWS-1251 вместо cp866 тоже никак.

Конечно смешно покажется со стороны , но вот такая вот проблема. Помогите пожалуйста. Только варианты "верни всё как было" или "перебей все теги в utf-8" лучше не пишите. Ну если перебивать, то как это сделать быстро у нескольких тыщ треков.

Если вдруг эта тема уже имеет решения тыкните мне пожалуйста ссылкой туда.
Заранее спасибо :)

6245
Тарас @tarasian666
еще посмотреть в какой кодировке общается php с mysql, должно быть помоему latin1
перебивать все в utf8 не получится так как тогда не будет их нормально читать сэм, а ему также надо latin1

но лучше уже наконец самому сделать что то на подобии samphp, а то он помоему ни разу не обновлялся и искать проблему в чужих скриптах сложнее чем написать самому с нуля

10
spryart @spryart
Эхх... наверное и настал тот час когда нужно по-хорошему изучить php + sql.
Просто при старом php и кодировке 1251 отображало же, может в новом php что-то с кодировкой поменяли.

но хотелось бы конечно на utf-8 то перебраться... ну если кто еще чем поможет пишите.

10
spryart @spryart
В общем нашёл решение проблемы сам:

подробнее смотрите **********

я думал в правильном направлении только с кодировками ошибся, правильно так:

echo iconv('windows-1251', 'utf-8', iconv('utf-8', 'windows-1252', ' è Âîïëi Âiäîïëÿñîâà'));

может кому еще пригодится.
Тему считать закрытой :)

Отредактировано spryart - 11.01.2013