kSalex
Новичок
многоязычное приложение
Решил разработать многоязычное приложение.
Перечитал многие статьи и решил ни писать всю статику в массивы для каждого языка или файлы или конфиги смарти, понравился мне gettext(тем более это как стандарт, можно будет использовать и в др. языках) и всё с ним получается.
Весь динамический контент храню в utf8 (бд mysql 4.1.10)
По умолчанию кодировка mysql-я latin1
Таблицы создавал так:
CREATE TABLE bla(
...
)ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
Насколько я понимаю, все данные которые я буду добавлять в таблицу будут автоматически конвертироваться в utf-8. (хотя из phpmyadmin-a на utf запись не была похожа ÀàÁáÂâ...Ññ...Þþßÿ, это строка 'АаБбВв...Сс...ЮюЯя')
Т.к. по умолчанию стоит latin1, то перед выборкой из БД делаю:
SET NAMES utf8;
В конечом итоге устанавливаю мета-тег charset в utf-8 и отправляю заголовок :
Вывожу выбранные данные и в браузере получаю крокозюблы.
Почему? В gettext-е(файлах po, mo) все данные в utf-8 и при установке заголовка utf-8 - все русские символы выводит прекрасно. Объясните плиз что не так.
Ещё лучше посмотреть какой-то рабочий пример, именно с gettext-ом и mysql (phpmyadmin - не предлагайте, там на файлах. cms Mambo тоже не надо - там вообще вся статика на константах).
Решил разработать многоязычное приложение.
Перечитал многие статьи и решил ни писать всю статику в массивы для каждого языка или файлы или конфиги смарти, понравился мне gettext(тем более это как стандарт, можно будет использовать и в др. языках) и всё с ним получается.
Весь динамический контент храню в utf8 (бд mysql 4.1.10)
По умолчанию кодировка mysql-я latin1
Таблицы создавал так:
CREATE TABLE bla(
...
)ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
Насколько я понимаю, все данные которые я буду добавлять в таблицу будут автоматически конвертироваться в utf-8. (хотя из phpmyadmin-a на utf запись не была похожа ÀàÁáÂâ...Ññ...Þþßÿ, это строка 'АаБбВв...Сс...ЮюЯя')
Т.к. по умолчанию стоит latin1, то перед выборкой из БД делаю:
SET NAMES utf8;
В конечом итоге устанавливаю мета-тег charset в utf-8 и отправляю заголовок :
PHP:
header('Content-type: text/html; charset=utf-8');
Почему? В gettext-е(файлах po, mo) все данные в utf-8 и при установке заголовка utf-8 - все русские символы выводит прекрасно. Объясните плиз что не так.
Ещё лучше посмотреть какой-то рабочий пример, именно с gettext-ом и mysql (phpmyadmin - не предлагайте, там на файлах. cms Mambo тоже не надо - там вообще вся статика на константах).