【 PHP 】PHP8に入門してみた 25日目 イントロダクション ( 基礎の「き」)

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

イントロダクション

文字コードと文字エンコーディング

パソコンは「あ」や「い」、「A」などという文字はすべて数値で識別しています。

ここで言う数値のことを文字コード、「あ」に対応する数値は「3042」で「い」は・・・・というような対応関係を文字エンコーディングといいます。

文字コードは世界にたくさあり、日本版のWindowsではShift-JISという文字コードが使用されています。

近年、世界各国ではUnicodeという文字コードを使う動きが急速に広まっています。

文字エンコーディング文字コードによって違います。

サーバとクライアントの文字コード事情

文字エンコーディングで互換性はありません。

なのでShift-JISの「あ」とUnicodeの「あ」は対応する文字コードが異なっています。

サーバ側から送信された文字コードがUnicodeで、受け取ったクライアント(ブラウザ)がShift-JISと勘違いして(?)処理してしまうと文字化けという現象が発生します。

PHP環境での文字コード事情

世界ではUnicodeのサブセットであるUTF-8がデファクトスタンダードです。

PHPの世界でもUTF-8を使うことが望ましいとのことです。

この設定はphp.iniで行うそうです。

まあ.phpファイルもUTF-8を使って記述するほうがよさそうです。

UTF-8での注意

UTF-8ではBOM付とBOM無しの2種類がありますがPHPではBOM付のUTF-8は正しく処理できないことがあるようです。

VS Codeでは何も考えなくてもUTF-8(BOM無し)でファイルが作成されます(少なくとも私の環境では!)。

メモ

UTF-8 BOM付は正常に処理できない可能性あり!

php.iniの設定、書籍の設定については私の環境ではphpサービスのphp.iniに定義しました。

良かったのかどうか不明です。