|
アルビレオです。
>バッチファイルでテキストに変換しても、文字コードは維持されて
>いて、ファイルを開くと、秀丸画面の上段にもちゃんと [UTF-8] と
>表示されていました。これなら特に問題はありません。問題になって
>いたファイルは htm ファイル内の文字コード宣言の部分が charset=x-jis
>になっていまして、これをそのままテキストファイルに変換して開いて
>みると、韓国語の部分だけが以下のように文字化けして表示されます。
>日本語はきちんと表示されますがね。
あのバッチファイルはファイル名を変更するだけで、ファイルの中身は一切変更
しません。
文字化けするのはファイル名を変えたからではなく秀丸が文字コードを認識する
ときですね。
試しに元のhtmlファイルをデスクトップ上の秀丸アイコンにドロップしてみれば、
テキストファイルと同じように表示されることがわかります。
>そこで秀丸のほうでフォントを韓国語のフォントに直しても結果は
>同じです。こういった htm ファイルの特徴は日本語・韓国語混在の
>文書にも関わらずブラウザーでのインコードの設定は shift-JIS に
>なっていて、いつも「どうして多言語使用文書なのに shift-JIS で
>見れるのだろう」と思っていました。
結局UTF-8がちゃんと認識されないんじゃなくて、複数の文字コードが混在して
いるファイルだったわけですね。
IE はそういうところを柔軟に対応しすぎて、事実上エンコード指定を無視して
しまうことがあるのが悩ましいです。
それからちょっと気になったのですが x-jis でなくて x-sjis ではないでしょ
うか?x-jisというエンコード指定はないはずですが…
ついでに encode は発音としては「インコード」でも正しい気がしますが、カタ
カナ表記としては「エンコード」の方が一般的です。大したことではないですが、
文字でコミュニケーションするためには世間に合わせておいた方がスムーズかと
思いますが、まあ余計なことなので気にしないでください。(^^;
>この場合の韓国語は、韓国語の
>文字を直接入力しているのではなくて、韓国語のそれぞれの文字の
>コード値を入力して、それをブラウザー上で韓国語に変換している
>ものなのだろうと推測しているのですが・・・。
&#xxxxx;という形式は「文字実体参照」と呼ばれるものです。この単語でWebを
検索すると色々と説明が見つかるでしょう。
秀丸(に限らずたいていのソフト)は文字コードが混在したテキストをうまく扱え
ないので、一番ベストなのはそのhtmlファイルを作ったソフトでもう一度開いて
UTF-8で保存しなおすことです。
でもそのソフトが手元にはないかもしれませんね。
またはそのソフトでも直接文字コードで打ち込んでいるかも。
>ここでは文字コードに
>ついて述べる場ではないので、後は自分で文字コードに関する本を
>読んで解決していきたいと思います。
本で調べれば原因は理解できても、解決策を見つけるのは難しいと思います。
ちょっと手間はかかりますが、秀丸とIEがあればできる方法を書いておきます。
リネームするより前にやっておいた方がいいでしょう。
1.念のため別に作業用フォルダを作り、そこにエンコードがx-jisになっている
ファイルをコピーする。
2.元のファイルをIEで、コピーしたファイルの方を秀丸で開く。
3.秀丸で charset=x-jis の部分を charset=utf-8 に書き換える。
4.書き換えたファイルを「名前を付けて保存」で文字コードをUTF-8に指定して
保存する。
5.秀丸で実体参照になっている部分に対応する場所をIEで探し、IEでテキストを
選択してコピー、秀丸側の対応個所にペーストする。
秀丸の文字コードがUTF-8になっていればたぶん文字化けせずペーストできる
と思いますが、あまり自信がありません。
全ての韓国語を貼り付け終わるまで繰り返します。秀丸で &# を検索すれば
見落としがなくて作業が楽になります。
6.そのファイル内の韓国文字を全部置き換えたら秀丸でもう一度保存すれば完了。
変換後のhtmlファイルをIEで開けば正しく変換されたか確認できます。
※おまけ
・(3)と(4)をワンタッチで行なうマクロ
replaceall "charset=x-jis","charset=utf-8";
saveas filename2,utf8;
|
|