トップ «前の日記(2018-08-25(Sat)) 最新 次の日記(2018-08-29(Wed))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2018-08-27(Mon) まだ暑い、らしい

文字化け対策

Centのお守り絡みで色々試してみる。LXCは便利だ。
現時点で、日本語の静的コンテンツは、 UTF-8、EUC-JP、ISO-2022-JP、Shift_JISいずれも 可能だった(iPhoneでも文字化けなく表示できる)。
ただしWebサーバが文字コード決め打ちになっていて、それと 違う場合は、HTMLの方で 言語とコンテンツタイプを指定するだけでは不十分、らしい。

<HTML lang=ja>
<HEAD>
<META http-equiv="Content-Type" content="text/html;
 charset=EUC-JP">
$ curl -I $OLD_SERVER
HTTP/1.1 200 OK
Date: Mon, 27 Aug 2018 01:58:26 GMT
Server: Apache/2.2.15 (CentOS)
Last-Modified: Sat, 25 Aug 2018 03:02:59 GMT
ETag: "482cc2-c-57439bac9dd77"
Accept-Ranges: bytes
Content-Length: 12
Connection: close
Content-Type: text/html; charset=UTF-8

対応策として、

1. Webサーバのデフォルト設定を外す (例えばApache2.4とかならAddDefaultCharset Offとか この場合、どこかが巻き添えになる可能性あり)
2. Webサーバの方でディレクトリなどを 限定して文字コードを指定する(AddDefaultCharset EUC-JPとか。 この場合ディレクトリ単位で決め打ち)
3. .htaccessに文字コード指定を放り込む(欠点は2.同様、そして.htaccess自体が非推奨)
4. 全部UTF-8にする(コンテンツ側の修正が必要)

とかになるらしい。

それにしてもブラウザのキャッシュ破棄が面倒。DisableCache にチェックを入れても、F5を打鍵しても 既成のデータをなかなか読み直してくれない。
サーバ側でtouch index.htmlとかやればともかく。

なにげにUTF-8メールを

ガラケーに送信してみた。
途中でコンバートしてくれたようだ。絵文字も含め、無事読めることを確認。

Content-Type: text/plain;
	charset=utf-8
Content-Transfer-Encoding: base64
Mime-Version: 1.0 (1.0)
Date: Mon, 27 Aug 2018 12:38:20 +0900
Subject: ZZZZZZZZZZZZZZ
Message-Id: <XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>
To: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
X-Mailer: iPhone Mail (15E216)

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。