[ トップページ ]
数学・計算・情報学・プログラミング

Emacs は HTML ヘッダのかきかえだけで EUC-UTF 変換をしてくれる

ファイルを変換するにはなにかしら 「変換操作」 をしなければならないものとおもっていた. なので,Emacs をつかって EUC-JP コードの HTML ファイルを UTF-8 コードに変換するときに,一生懸命,「変換操作」 をこころみた. ところが,いくつか 「変換操作」 をこころみてみても,変換してくれない. そういえば,HTML ヘッダで EUC-JP が指定されていたら,それを UTF-8 にかきかえなければならないのだった. そこでこれらのヘッダの指定をかきかえると,「変換操作」 をしなくても変換してくれることがわかった.

つまり,問題のファイルにははじめ,つぎのようなヘッダがついていた.

<?xml version="1.0" encoding="euc-jp"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="ja" dir="ltr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />

このなかの “euc-jp”, “EUC-JP” を Emacs (23.1) で “utf-8”, “UTF-8” にかきかえて save すると,UTF-8 にコード変換されたファイルができた.

ヘッダをかきかえるだけでコードをかえてくれるというのは,たしかにつじつまはあっている. HTML ヘッダに EUC-JP とあるのに内容が UTF-8 コードでかかれていたり,UTF-8 とあるのに内容が EUC-JP でかかれていたりするのは矛盾している. 記述にしたがってコード変換すればつじつまがあうようになる. しかし,「なにもしないで」 変換してくれるというのは,いささか直観に反するふるまいだ. いささか,びっくりしてしまった.

キーワード:

トラックバック

このエントリーのトラックバックURL:
https://www.kanadas.com/mt/mt-tb.cgi/4333

コメントを投稿

Google でブログを検索:

メインページアーカイブページも見てください.
Creative Commons License
このブログはつぎのライセンスで保護されています. クリエイティブ・コモンズ・ライセンス.
Powered by Movable Type