kruti dev (インド語) を unicode に変換したい。このサイトがあります-krutidevをユニコードに変換するhttp://rajbhasha.net/drupal514/UniKrutidev+Converterですが、これはjavascriptで行われます。PHPでやりたいのですが、誰か助けてください。
2 に答える
あなたがしなければならないことは、エンコーディングの変換ではなく、カスタム文字のマッピングです。
エンコーディングでは、特定のバイトまたはバイト シーケンスが特定の文字を表します。次に、フォントはこの文字を視覚化します。たとえば、ASCII では、バイトは文字 "A" を表し、この "A" を画面上で視覚的に表示するために、フォントによって形状x41
が異なります。
Kruti Dev の場合、どうやらそれが誕生した時点では、インド言語のエンコーディングはありませんでした。つまり、当時使用されていたシステムで「व」を表す特定のバイトが指定されていませんでした。Kruti Dev の作成者が行ったことは、単純に文字の形を再定義したことです。バイトは依然として文字が「A」であると述べており、オペレーティング システムは文字「A」を処理していると認識していましたが、視覚的な表示のためにフォントに「व」の形状が含まれていました。
したがって、基になるエンコーディングが最初から非標準的な方法で悪用されているため、ここで実行できるエンコーディング変換はありません。あなたがする必要があるのは、ラテン文字を実際に指定されたインド文字にマッピングすることです。すべての「A」を「व」に置き換える必要があります(単なる例であり、実際のマッピングについてはわかりません)。
iconvをチェックしてください
$str = iconv($srcencoding, $destencoding, $str);