isprint

isprintは、スペースを含む表示文字かどうかをチェックする。

isgraph(3): char classification routines - Linux man page

これで、a、b、c、1、スペース、タブ、改行、Ctrl+A、をチェックする。

$ vi isprint.c
$ gcc isprint.c -o isprint
$ ./isprint
a
61 is Printable Character!
$ ./isprint
b
62 is Printable Character!
$ ./isprint
c
63 is Printable Character!
$ ./isprint
1
31 is Printable Character!
$ ./isprint

20 is Printable Character!
$ ./isprint

$ ./isprint

$ ./isprint
^A
$

isgraphと違って、スペースの時も真となる。

Sample/c/isprint/isprint/src/isprint at master · bg1bgst333/Sample · GitHub

menu

これまで、コンテンツのメニューとか、ulタグとliタグでやっていたけど、もともとmenuタグというのがあるらしい。

<menu> - メニュー - とほほのWWW入門

ulじゃなくてmenuでliを囲む。

こうする。

見た目は変わってないように見える
見た目は変わってないように見える

見た目は変わってないように見える。

Sample/html/menu/menu/src/menu at master · bg1bgst333/Sample · GitHub

div#style

テキストに色を付けたいが、body#textだと全体的に同じ色になるので、divごとに細かなスタイル指定をする。

<div> - ブロック要素 - とほほのWWW入門

スタイル指定はいろいろ方法があるけど、divタグなどのタグに直接書く場合はstyle属性。

divごとにstyle="color:~"で色指定。
色名でも16進数でも出来るけど、今回は色名。

こんな感じ
こんな感じ

こんな感じ。

Sample/html/div/style/src/div at master · bg1bgst333/Sample · GitHub

div#align

align属性でブロックを右に寄せたり中央に寄せたり左に寄せたりする。

<div> - ブロック要素 - とほほのWWW入門

div.htmlを、

こう書く。
1つ目は右寄せ、2つ目は中央寄せ、3つ目は左寄せ。

こうなる
こうなる

こうなる。

Sample/div.html at master · bg1bgst333/Sample · GitHub

li

箇条書きのアイテムはliタグで囲む。

<li> - リストアイテム - とほほのWWW入門

前回のulのアイテムを3つに増やす。

と書くと、

アイテムが3つになる。
アイテムが3つになる。

アイテムが3つになる。

Sample/html/li/li/src/li at master · bg1bgst333/Sample · GitHub

meta

metaタグは、いろいろなメタ情報を付加する。

<meta> - メタ - とほほのWWW入門

よく見かけるのは、Content-typeとcharsetの部分。

<html>
  <head>
    <title>meta</title>
  </head>
  <body>
    あいうえお
  </body>
</html>

まず、これを、

UTF-8で保存
UTF-8で保存

UTF-8で保存。

当然、文字化けはせず、表示できる。
当然、文字化けはせず、表示できる。

当然、文字化けはせず、表示できる。

Shift_JISで保存
Shift_JISで保存

Shift_JISで保存。

文字化けする
文字化けする

文字化けする。

metaでcharsetにShit_JIS
metaでcharsetにShit_JIS

metaでcharsetにShit_JIS。

あれ?これで治らない・・・。
あれ?これで治らない・・・。

あれ?これで治らない・・・。

metaがheadの中なのでbodyには効かないのかと思ってtitleを日本語にした
metaがheadの中なのでbodyには効かないのかと思ってtitleを日本語にした

metaがheadの中なのでbodyには効かないのかと思ってtitleを日本語にした。

関係なかった
関係なかった

関係なかった。

W3C I18n Checker

これでリクエスト情報を調べると、

metaのcharsetがShift_JISなのに、Content-TypeがUTF-8になっている。
metaのcharsetがShift_JISなのに、Content-TypeがUTF-8になっている。

metaのcharsetがShift_JISなのに、Content-TypeがUTF-8になっている。

HTTPヘッダのメタ情報

結局は、Apacheの設定か。

httpd.confの末尾にこれを追加
httpd.confの末尾にこれを追加

httpd.confの末尾にこれを追加。

これShift-JISですが表示出来てます。
これShift-JISですが表示出来てます。

これShift-JISですが表示出来てます。
CGIPHPなら、HTTPヘッダを変えて、そちらで表示できるかもだけど、metaタグでは厳しい。
さっきのApacheの設定変更を元に戻して、

utf8に戻したバージョン。

utf8で保存
utf8で保存

utf8で保存。

utf8で表示
utf8で表示

utf8で表示。
一応metaタグでの文字コード指定もつけておいたほうがいいけど、サーバと文字コード合わせないとね。

という感じで終わろうとおもっていたが、もうちょっと探ったら、

ここでUTF-8と定義しているのがみつかったので
ここでUTF-8と定義しているのがみつかったので

ここでUTF-8と定義しているのがみつかったので、

コメントアウトして改めていじってみる
コメントアウトして改めていじってみる

コメントアウトして改めていじってみる。

両方ともUTF-8
両方ともUTF-8

両方ともUTF-8

表示できる
表示できる

表示できる。

ファイルエンコードをShift_JISにする
ファイルエンコードShift_JISにする

ファイルエンコードShift_JISにする。

文字化け
文字化け

文字化け。

両方Shift_JIS
両方Shift_JIS

両方Shift_JIS

表示できる
表示できる

表示できる。

ファイルエンコードをUTF-8にする
ファイルエンコードUTF-8にする

ファイルエンコードUTF-8にする。

文字化け
文字化け

文字化け。
というわけで、AddDefaultCharsetがコメントアウトされていれば、metaタグのCharsetでレスポンス返ってくるので、metaタグのcharsetをソースコードエンコード形式と合わせると表示される。

Sample/html/meta/meta/src/meta at master · bg1bgst333/Sample · GitHub