ホームページ >バックエンド開発 >PHPチュートリアル >PHP 中国語からピンインへ (20378 文字をサポート)
PHP 中国語からピンインへ (20378 の漢字をサポート)
PHP 中国語からピンインへ (20378 の漢字をサポート)
プロジェクトでは、中国語のピンイン抽出機能をphpを使用して実装する必要があります当時の実装方法はGB2312を使用していました。フォントライブラリを使用して実装していましたが、プロジェクト内に「KAKA」などの漢字を見つけたときはどうすることもできず、正しいピンインを抽出できませんでした。 。 GB2312 クラス ライブラリのバージョン アドレス: http://blog.csdn.net/wgw335363240/article/details/38588151
できるだけ多くの漢字のピンインを正しく抽出するには、以下を参照してください。 pinyin4j への .jar の Java 実装は、中国語のピンインの抽出を PHP バージョンに変換します。テスト後、使用されている中国語の文字は基本的に正しく変換されます。変換プロセス中、php エンジンはデフォルトで iso-8859-1 エンコーディングを使用するため、「mbstring」クラス ライブラリ サポート をインストールする必要があります。実装されたもの (つまり、strlen('China') の長さは 6 で、これは Java の "China".getBytes().length に相当します。その長さも 6 です。当時、Java は " の実装を提供していました。 China".tochars()、このメソッドで取得される文字セットの長さは 2 で、実際には中国語の文字に従って走査されます)。mbstring クラス ライブラリは、中国語に従って文字列を走査する Java の tochars メソッドと同等です。文字。クラス ライブラリをインストールしない場合は、utf8 エンコードのルールに従ってバイトを走査して、中国語の文字のピンインを抽出する必要があります。
(1) PHP は mbstring クラス ライブラリをサポートする必要があります
(2) PHP が utf-8 エンコーディングを使用して書かれている場合、それは遅延しており、他の言語をサポートするための記述はありません
中国語の文字をピンインに変換する原則は次のとおりです:
(1) Unicode と Pinyin の間のマッピング辞書を定義します (PHP では配列として反映されます)。辞書は pinyin4j からポリフォンとトーンを削除します。 .jar ファイル( 2) 「厳密」などの漢字を入力します" そして、mbstring クラス ライブラリを使用して、それを 2 つの文字 "strict" と "strict" に解析します
(3) 解析された「Yan」と「Li」から漢字のピンインを抽出するために、関連するメソッドを呼び出します。 たとえば、最初に「Yan」
のピンインを抽出します。
(4) 「strict」という単語(今回は 3 バイトエンコード)を Unicode に変換しますコード (4E25、10 進数: 20005) (5) Unicode コード (4E25) と辞書キーを比較して、対応するピンインを取得します (6) 同じ戦略を使用して単語「Li」のピンインを抽出します 抽出効率: 漢字の抽出時間: 0.00076600000000004 秒 コード: リソースにアップロードされましたが、現在はアップロードできません。