
「XAMPP(ザンプ)」の文字化け対策の手順をメモ。
XAMPPの文字化け
XAMPPをインストールした後、Apache(Webサーバ)を起動します。
その後XAMPPの管理画面にアクセスすると、文字化けが発生します。
(ステータス、セキュリティ)
この文字化けを直す方法のメモ。
Apache(Webサーバ)+ MySQL(DBサーバ)起動
XAMPP Control Panelを起動します。
ショートカットやらタスクバーやらにある
から起動するか、デフォルトのインストールなら「C:\xampp\」にある「xampp-control.exe」から起動します。
Apache の右にある
MySQL の右にある
文字背景がグリーンになれば、それぞれ起動完了です。
XAMPP – 管理画面起動
ブラウザのアドレス欄に「http://localhost/xampp/」を入力してページを開きます。
こんな画面が現れたら、一番右の「日本語」をクリック。
「ようこそ」画面が開きます。
「navi.php」修正
「C:\xampp\security\htdocs」にある「navi.php」を、テキストエディタで開きます。
修正後に、「UTF-8 BOM無し」の状態で保存する必要があります。
Windows標準のnotepad、メモ帳では編集できません。
必ず対応しているテキストエディタを使用してください。
「navi.php」ファイルで、文字列「lang.php」あたりを検索します。
<td align="right" class="navi"> <a target=_parent class=n href="lang.php?de"><?php print $TEXT['navi-german']; ?></a><br> <a target=_parent class=n href="lang.php?en"><?php print $TEXT['navi-english']; ?></a><br> <a target=_parent class=n href="lang.php?es"><?php print $TEXT['navi-spanish']; ?></a><br> <a target=_parent class=n href="lang.php?fr"><?php print $TEXT['navi-french']; ?></a><br> <a target=_parent class=n href="lang.php?it"><?php print $TEXT['navi-italian']; ?></a><br> <a target=_parent class=n href="lang.php?nl"><?php print $TEXT['navi-dutch']; ?></a><br> <a target=_parent class=n href="lang.php?no"><?php print $TEXT['navi-norwegian']; ?></a><br> <a target=_parent class=n href="lang.php?pl"><?php print $TEXT['navi-polish']; ?></a><br> <a target=_parent class=n href="lang.php?pt"><?php print $TEXT['navi-portuguese']; ?></a><br> <a target=_parent class=n href="lang.php?sl"><?php print $TEXT['navi-slovenian']; ?></a><br> <a target=_parent class=n href="lang.php?zh"><?php print $TEXT['navi-chinese']; ?></a><p>
chineseの後に、日本語を追加します。
<td align="right" class="navi"> <a target=_parent class=n href="lang.php?de"><?php print $TEXT['navi-german']; ?></a><br> <a target=_parent class=n href="lang.php?en"><?php print $TEXT['navi-english']; ?></a><br> <a target=_parent class=n href="lang.php?es"><?php print $TEXT['navi-spanish']; ?></a><br> <a target=_parent class=n href="lang.php?fr"><?php print $TEXT['navi-french']; ?></a><br> <a target=_parent class=n href="lang.php?it"><?php print $TEXT['navi-italian']; ?></a><br> <a target=_parent class=n href="lang.php?nl"><?php print $TEXT['navi-dutch']; ?></a><br> <a target=_parent class=n href="lang.php?no"><?php print $TEXT['navi-norwegian']; ?></a><br> <a target=_parent class=n href="lang.php?pl"><?php print $TEXT['navi-polish']; ?></a><br> <a target=_parent class=n href="lang.php?pt"><?php print $TEXT['navi-portuguese']; ?></a><br> <a target=_parent class=n href="lang.php?sl"><?php print $TEXT['navi-slovenian']; ?></a><br> <a target=_parent class=n href="lang.php?zh"><?php print $TEXT['navi-chinese']; ?></a><br> <a target=_parent class=n href="lang.php?jp"><?php print $TEXT['navi-japanese']; ?></a><br>
ちなみに、chineseの文末が <p> になってるので、<br> に直しておきましょう。。
UTF-8、BOMなしで保存
「jp.php」修正
「C:\xampp\security\htdocs\lang」にある「jp.php」を、テキストエディタで開きます。
47行目あたりにある以下の箇所を見つけます。
$TEXT['navi-languages'] = "各国語";
言語の記述を追記します。
$TEXT['navi-languages'] = "各国語"; $TEXT['navi-english'] = "English"; $TEXT['navi-german'] = "Deutsch"; $TEXT['navi-spanish'] = "Espanol"; $TEXT['navi-french'] = "Francais"; $TEXT['navi-italian'] = "Italiano"; $TEXT['navi-dutch'] = "Nederlands"; $TEXT['navi-norwegian'] = "Norsk"; $TEXT['navi-polish'] = "Polski"; $TEXT['navi-portuguese'] = "Portugues"; $TEXT['navi-slovenian'] = "Slovenian"; $TEXT['navi-chinese'] = "中文"; $TEXT['navi-japanese'] = "日本語";
UTF-8、BOMなしで保存
「php.ini|文字コード」
XAMPP Control Panelから「Apache」の「Config」をクリックすると、php.iniファイルが選択できます。
または「C:\xampp\php」にある「php.ini」を、テキストエディタで開きます。
どちらも同じファイルです。
開いた「php.ini」ファイルから「default character」で検索。
; PHP's default character set is set to empty. ; http://php.net/default-charset ;default_charset = "UTF-8"
デフォルト文字コードの設定がコメントアウトされています。
文頭のセミコロン(;)を消して、有効にします。
; PHP's default character set is set to empty. ; http://php.net/default-charset default_charset = "UTF-8"
「php.ini|日本語利用のためのマルチバイト設定」
「php.ini」ファイルから「mbstring」で検索。
[mbstring] ; language for internal character representation. ; http://php.net/mbstring.language ;mbstring.language = Japanese ; internal/script encoding. ; Some encoding cannot work as internal encoding. ; (e.g. SJIS, BIG5, ISO-2022-*) ; http://php.net/mbstring.internal-encoding ;mbstring.internal_encoding = EUC-JP
マルチバイトの設定と、文字コードUTF-8を設定。
[mbstring] ; language for internal character representation. ; http://php.net/mbstring.language mbstring.language = Japanese ; internal/script encoding. ; Some encoding cannot work as internal encoding. ; (e.g. SJIS, BIG5, ISO-2022-*) ; http://php.net/mbstring.internal-encoding ;mbstring.internal_encoding = EUC-JP mbstring.internal_encoding = UTF-8
「php.ini|タイムゾーン設定」
文字化けとは違いますが、ついでにタイムゾーンの設定変更を行います。
デフォルトのまま使うと、日本時間ではありませんので大きくずれて見えます。
このあたりは、実際に公開するWWWサーバ(HTTPサーバ)の設定と同じです。
「php.ini」ファイルから「timezone」で検索。
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone=Europe/Berlin
ベルリンのタイムゾーンを、東京に変更しましょう。
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone ;date.timezone=Europe/Berlin date.timezone=Asia/Tokyo
続けて、「XAMPP|XAMPPのセキュリティ対策」を行います。