UTF-8 と UTF-8N

UTF-8 と UTF-8N

Webアプリケーションの仕事をしていると、たまにUTF-8でファイルを保存しないといけない時があります。
今の多くのエディタは保存する際に「文字コードの指定」ができるようになっていて助かります。
以前は、Visual stdio を立ち上げて保存したものです。

で、保存使用する際、UTF-8 と UTF-8Nが選べるエディタも有れば、選べないエディタもあることに気が付きました。
結果はご存知の通りBOMを付けるか付けないかの指定方法が違うだけなんですけね。
これって知らない人にはわかりづらいですね。

BOMって?

ちなみにBOMっていうのは、Byte Order Mark のことで、「テキストファイルの文字コードがUTF-8です」とファイルの頭に付けたマークのことです。

BOMが付くか付かないかだけなので、UTF-8 と UTF-8N の文字コードは全く同じUTF-8です。
違いはありません。

Nが付かないファイルは、BOMあり。
Nが付くファイルは、BOMなし。
ってことです。

UTF-8 と UTF-8N?

現在は、基本的にBOMなしで問題ないと思います。
なので、UTF-8Nを選択します。
で、UTF-8 と UTF-8Nが選べないエディタは、たぶんファイル名を記述する横くらいにBOMの扱いをどうするかの指定があると思います。

しかし、付けるように指定が有ったり、読み込み時に問題が出るようならBOM付けて試してみるのも手です。
現在はBOMなしが主流ですが、古いシステムはBOMあり指定もあるかもなので。

以上、UTF-8文字コードでファイルを保存したときにふと思ったので。。。

IX Web Hosting SSLを設定する(更新)

IX Web Hosting SSLを設定する(更新)

Let’s Encryptからもらえる無料のSSL証明書を使い、独自ドメインのSSLを設定したのでその更新時期が来たので更新の開発備忘録です。

まず、IX Web HostingのHome画面から「Web Options」を選択します。

IX Web Hosting SSL設定 home画面

IX Web Hosting SSL設定 home画面

次に、「Select domain to configure hosting parameters」リストが表示されるので、SSLを設定したいドメインもしくはサブドメインを選択します。

IXWebhostingSSL設定 Select domain to configure hosting parameters

IXWebhostingSSL設定
Select domain to configure hosting parameters

次に、「Web Service」設定画面が表示されるので、「SSL Support」項目の「Editアイコン」を選択します。

SSL更新-WebService設定

SSL更新-WebService設定

次に、「Edit SLL」画面が表示されます。

SSL更新

SSL更新

次に、予め入手しておいたSSL Certificate(CERT/SSL証明書)とSSL証明書の秘密鍵(SSL Server Private Key)をコピーして貼り付け、「submit」送信します。
Let’s Encryptで無料のSSLを取得する

正常に処理されると、ひとつ前の「Web Service」設定画面に戻ります。
エラーが出た場合はコピーミスかコピーした情報に間違いが有ると思われるので、エラーメッセージを確認してみてください。
正常に処理されると、下のようになります。

IXWebhostingSSL設定-SSL設定後

IXWebhostingSSL設定-SSL設定後

これで、https://でアクセスすると保護された通信になります。
ただ、今でも「Edit」で「Force SSL Connection」にしても全てがHttps://になりません。
課題が残っていますが、とりあえず更新できたのでこれで良しとします。

以上、IX Web Hosting SSLを設定する(更新)の開発備忘録でした。

HTML5のDOCTYPE宣言

HTML5のDOCTYPE

HTML5のDOCTYPE は非常にシンプルです。

<!DOCTYPE html>

DOCTYPE宣言とは

DOCTYPE宣言とは「Document Type Definition」(DTD)のことで、日本語に訳すと「文書型宣言」となります。
ブラウザに対しどのバージョンのHTMLやXHTMLで書かれているかを宣言しています。
HTML文書の先頭に書く必要があります。

DOCTYPE宣言をブラウザに示すことで、文書を解析するパーサが文書型宣言に指定されたDTDを参照することで、ブラウザが規則に従った妥当な文書か否かを検証することができます。
また、一部のブラウザ(HTMLレンダリングエンジン)は「DOCTYPEスイッチ」と呼ばれる機能を有しています。
これはMIMEタイプとしてtext/htmlを与えられた文書に書かれた文書型宣言の内容によってレンダリングを「標準モード」や「互換モード(Quirksモード)」というように切り替えるユーザに見えやすくすることができます。

DOCTYPE宣言をすると

DOCTYPE宣言をすることで、ブラウザはどのバージョンのHTMLやXHTMLで書かれているかがわかります。
HTML5で書かれている旨宣言をすると、文書型宣言はもはやモード指定以外の意味をなさなくなります。
すなわちHTML5における文書型宣言は、レンダリングを「標準モード」へ切り替えるためだけの、「ほとんど役に立たないが、それでも必要な」ヘッダという役割を担います。

たいした意味はなくなりましたが、それで宣言は必須です。
必ずDOCTYPE宣言を書くようにしましょう。