日本語のwebサイトでアクセント記号付きのアルファベットなどの特殊な文字を登録したいときは結構面倒だったりします。webサーバが文字コードがUTF-8のファイルを置くのを許可していれば別段問題はないのですが、私が借りてるYahoo!GeocitiesなんかだとEUC-JPでしか置けなかったりします。下手にそのまま書くと文字化けしてしまいます。
でも、こんな方法があります。例えばフランス語のアクセント記号のア・アクサンテ・グラブ(à)ならこんな感じ(à)でhtmlファイルに書けばちゃんと表示されます。他の欧文文字も同様に記述できます。 ただし、ページを閲覧するブラウザがHTML4.01対応のブラウザが相手と言う条件が付くことになりますけど。InternetExplorer6.x、FireFox、Mozilla、NetscapeNavigator6以降辺りならまず大丈夫だと思います。本来私のページではブラウザを選ばずに見れるようにという方針でしたけど、JavaScriptを使うようになってからこの原則も崩れてきたなぁ。
それはさておき、いちいち1文字ずつhtmlファイルのソースを手で書き換えるのも面倒な話です。ということで、以下のフォームに変換したい文章を入れて「変換開始」をぽちっとやると、(à)→(à)のような処理を自動で行えるようにスクリプトを書いてみました。
具体的には、ISO 8859-1(Latin1)の文字コードでShift_JISやEUC-JPだと文字化けして表示されない文字(コード番号160〜255)と、「"」、「&」、「<」、「>」を変換します。でも、各ブラウザのJavaScriptの実装の違いのせいか、いまいちしっくり動きません。色々こねくり回すとエラーが出ると思いますが、手抜きなんで諦めて下さい(笑)。
あ、そうそう動作確認は以下のブラウザで確認しました。あ、JavaScriptはONにしないと動きませんので、念のため。
そうそうWindowsXP SP2でInternetExplorerを使っていてる人で以下の表示が出てる場合は以下の手順でJavaScriptの実行を許可しないと動作しません。うちのサイトに関しては悪意のあるスクリプトは使ってませんので。なお、私のサイト以外でこの表示が出てる場合はown your riskで判断して下さい。本当に悪意のあるスクリプトが含まれているかも知れませんので。
1.この表示が出たら、黄色の部分を左クリックして


あ、折角なんで変換対象の文字一覧を挙げておきます。参考にして下さい。しかし、普通に日本語しかコンテンツに入れていない人だったら全然不要なネタだなぁ、今回は。ま、自分の役に立つからいいんだけどね。