しらぎくモバイルシステムは第4.330版(平成19年 6月25日)からHTML文書ファイル名及びHTML文書収納ディレクトリ名での日本語文字などの非英語文字利用に対応しました。
これに依り、例えば「更新案内.html」等と言った日本語でのファイル名が利用出来るようになります。
HTML文書のファイル名及びHTML文書を収納しているディレクトリ名に、日本語の文字(仮名・漢字)が使えるようにしたものです。
現実的な問題として、日本語にはいくつかの文字コードがあり、それぞれがそれなりに使われているという事実があります。
日本向けのモバイルコンテンツでは歴史的な理由からシフトJISコードを用いる事とされておりますが、PC向けのコンテンツではその他の文字コードも多く使われております。
PCサイトなど他のサイトから日本語URIをそのままリンクした場合、文字コードの違いを吸収しないとURIの解決が出来なくなります。
例えば「日本語」も
となります。このように違いが生じるため、何らかの対策を執らないとどちらか或いは双方ともアクセス出来ないという事になり兼ねません。
一応、IRI(国際化されたリソース識別名)の仕様が西暦2005年(平成17年)にRFC第3987号として公開されましたが、まだまだ現実的にはIRIへの対応は充分と言えません。
このため、文字コードの違いを吸収する機能が必要になります。
すなわち、文字コードの相互変換機能を導入して、文字コードに関係なく々リソースを選択出来るようにする必要があるのです。
しらぎくモバイルシステムが第4.330版(平成19年 6月25日)から導入した機能は、この問題を解決するために導入されました。
具体的には、
これは検索エンジンでは非英語URIはUTF-8コードでエンコードされている場合に限り文字表示されるからです。
PCに対しても日本語URIのUTF-8コード化はそれほど問題は無いと思われるので、そのようにしております。
一般にUTF-8コードが望ましいとされておりますが、UTF-8コードはシフトJISコードなどと較べてオクテット数が増えてしまい、変換後のファイルが肥大化する原因となります。
このため、特に実機にはオリジナルの文字コードのままで配信する事とします。
この条件を満たすPerlでは標準で文字コードの変換処理がサポートされます。
文字コードの変換処理を導入する事で、どの文字コードでエンコードされたURIであっても適切に処理されるようになります。
加えて、グーグルやヤフーなど検索エンジンがページ案内の際に日本語でURIを表示してくれるようにもなります。
設定ファイル「KConfig.pl」内に$path_i18n
に適切な文字コードを設定しておきます。
尚、一システムで利用出来る非英語文字コードは一種類のみとなります。
従いまして、あるファイルはシフトJISコードでエンコードされたファイル名で、またあるファイルはEUC日本語コードでエンコードされたファイル名と言うような非英語文字コードを混在させる事は出来ません。
画像などのファイルに関してはサポートしておりません。
画像などは引続きアスキィコードの範囲でファイル名・収納ディレクトリ名を定めて下さい。
日本語ファイル名及びディレクトリ名では、以下の文字をご利用になる事を推奨します。
上記以外の文字、特に機種依存文字を用いた場合、アクセス出来ない場合があります。
また、全角と半角がある文字については、全角と半角が混在してもアクセスは可能ですが、URIを口頭や文書などで伝達する際にトラブルが起こる恐れがありますので統一するようにして下さい。
サーヴァやFTPクライアントソフトウェアに依っては、シフトJISコードでエンコードされたファイル名のファイルを転送しようとすると、サーヴァ側で文字化けしてしまう場合があります。
このトラブルが起こり得る文字は、「ソ」「表」「申」「十」などです。
設置したのにアクセス出来ない場合には、ファイル名が文字化けしている事が考えられますので、FTPクライアントソフトウェアで確認してみて、もしそうであるならファイル名を変更してみて下さい。
ウィンドウズ XP上でのアパッチ 1.3.33・Perl 5.8.8で、UTF-8コードでエンコードされた日本語パスが正常に受け取れませんでした。
尚、
OS或いはサーヴァプログラムの問題と思われます。
更にサーヴァプログラムをAn HTTPDに代えてみたところ、やはり同様の誤作動が起こる事が判明しました。ウィンドウズではエクストラパスの引渡しに問題があるようです。
このため、ウィンドウズ上でのサーヴァで日本語ファイル名を使いたい場合には、エクストラパスを使わずクエリでファイルを指定するように設定するようにして下さい。