ホームページ >バックエンド開発 >PHPチュートリアル >国際化を実現するために gettext を使用する php に関連する問題! 使ったことがある方はぜひご相談ください〜
PHP は gettext を使用して国際化の問題を実装します。 使ったことがあるかどうか話し合ってください~~
私の環境: ubuntu サーバー +xampp パッケージ
PHP コードの出力は簡体字中国語で出力されます。次に、簡体字中国語の出力を中国語に変換する必要があります。英語、繁体字中国語。
これを行うには gettext を使用します。
現象: 変換できない!
ただし、コード内の中国語の文字を英語の文字に変更し、それを .po ファイル内で更新してから、.mo ファイルを生成すると、変換は正常に行われます。
つまり、po ファイル内の変換する必要がある文字列が中国語の場合、変換できません。
つまり、中国語 --> 他の言語では失敗します。
英語 --》 他の言語でも成功できます! !
これがなぜなのか話し合ってください。 !
-----解決策---------
ダウンロード アドレス:
http://sourceforge.net/projects/gnuwin32/files/gettext/0.14.4/gettext-0.14.4-src.zip/download
ステップ 1: PHP プログラムを作成する <?php putenv("LANG=zh_CN"); setlocale(LC_ALL, "zh_CN"); バインドテキストドメイン("テスト", "./ロケール"); テキストドメイン("テスト"); echo gettext("こんにちは!"); echo gettext("世界!"); echo gettext("Hello World!"); ?> ステップ 2: xgettext.exe -d test -L PHP --from-code=utf-8index.php ステップ 3: test.po を次のように変更します。 #: ../index.php:8 msgstr "こんにちは!" msgstr "こんにちは!" #: ../index.php:9 msgstr "世界!" msgstr "世界!" #: ../index.php:10 msgstr "Hello World!" msgstr "こんにちは、世界!" ステップ 4: msgfmt -o zh_CN/test.mo zh_CN/test.po test.mo ファイルを生成する ステップ5: localezh_CNLC_MESSAGES ディレクトリを作成し、test.mo をこのディレクトリに置きます ステップ6: Apacheを再起動し、index.phpにアクセスして効果を確認してください。 <br><font color="#e78608">------解決策------------------</font><br> utf-8 でエンコードしてみる <div class="clear"></div>