Я пытаюсь поддержать традиционный китайский в одном из моих проектов PHP, но я не могу заставить его показать никаких китайских персонажей. Вот мой Gettext установка:PHP gettext Упрощенная поддержка Китая?
putenv("LC_ALL=zh_CN.utf8");
setlocale(LC_ALL, "zh_CN.utf8");
bindtextdomain("wpsmessages", dirname(__FILE__) . "/locale");
bind_textdomain_codeset("wpsmessages", 'UTF-8');
textdomain("wpsmessages");
Ранее я создал локаль в SSH, введя:
sudo locale-gen zh_CN.utf8
Который потом вернулся:
Generating locales...
zh_CN.UTF-8... done
После ввода locale -a
я получаю follwing в списке (среди прочих):
zh_CN
zh_CN.utf8
Но все же, он не показывает никаких китайских символов. Что я здесь делаю неправильно?
Не слишком уверен, что я понимаю ваши примеры. Вы пытаетесь заставить PHP получить текст, чтобы иметь китайскую поддержку, но все ваши примеры демонстрируют конфигурации системного уровня. Где ваш код PHP не работает? Вытягивает ли данные из базы данных? Является ли базой данных и PHP-скриптом UTF8? – JakeGould
Возможный дубликат [Невозможно сделать (UTF-8) традиционный китайский символ работать в PHP gettext extension (.po и .mo файлы, созданные в poEdit)] (http://stackoverflow.com/questions/2264740/cant- make-utf-8-традиционный-китайский-характер-to-work-in-php-gettext-extensio) – JakeGould
Извините, я не был слишком ясен об этом. Поэтому у меня в основном есть готовый PHP-проект gettext, вызывающий '__ ('Это некоторый текст')', получая текст из файлов .mo и .po, находящихся в папке '/ locale /'. gettext отлично работает для локалей de_DE.utf8, nl_NL.utf8, pt_BR.utf8 и т. д., но я не могу заставить его печатать строки для упрощенного китайского языка. Вместо этого он печатает английские строки по умолчанию. – Alphawolf