ひさびさにXAMPPをインストールしたので、XAMPP をインストールする際の文字化け対策メモ
まずは、XAMPPをインストール
https://www.apachefriends.org/download.html
から以下のファイルをインストール(2015/10/17時点)
xampp-win32-5.6.12-0-VC11-installer.exe
5.6.12 / PHP 5.6.12
をインストール。
ただ、そのままだと、セキュリティー設定時に文字化けします。
http://localhost/security/lang.php?jp
C:¥xampp¥security¥htdocs¥lang¥en.php
UTF-8(UTF-8N)で保存
[メモ帳だとUTF-8 BOMなしで保存きないなのでTeraPadなどを使用しましょう]
C:¥xampp¥security¥htdocs¥lang¥jp.php
変更+UTF-8(UTF-8N)で保存
変更前
1 2 3 4 5 6 7 8 |
<?php // --------------------------------------------------------------------- // GLOBAL // --------------------------------------------------------------------- ・・・・・・ $TEXT['navi-languages'] = "各国語"; |
↓
変更後
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php include "en.php"; // --------------------------------------------------------------------- // GLOBAL // --------------------------------------------------------------------- $TEXT['navi-languages'] = "各国語"; $TEXT['navi-english'] = "英語"; $TEXT['navi-german'] = "ドイツ語"; $TEXT['navi-spanish'] = "スペイン語"; $TEXT['navi-french'] = "フランス語"; $TEXT['navi-italian'] = "イタリア語"; $TEXT['navi-dutch'] = "オランダ語"; $TEXT['navi-norwegian'] = "ノルウェー語 "; $TEXT['navi-polish'] = "ポーランド語"; $TEXT['navi-portuguese'] = "ポルトガル語"; $TEXT['navi-slovenian'] = "スロベニア語"; $TEXT['navi-chinese'] = "中国語"; $TEXT['navi-japanese'] = "日本語"; |
C:¥xampp¥security¥htdocs¥navi.php
変更+UTF-8(UTF-8N)で保存
変更前
1 |
<a target=_parent class=n href="lang.php?zh"><?php print $TEXT['navi-chinese']; ?></a><p> |
↓
変更後
1 2 |
<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><p> |
localhost以外でhttp://<xamppインストールホスト>/security/などにアクセスした場合に一部文字化けしている
(「サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください」の部分)
1 2 3 4 5 6 7 8 9 |
アクセス禁止! 新しいXAMPPのセキュリティコンセプト: は、要求されたオブジェクトへのアクセスは、ローカルネットワークから入手可能です。 この設定は、ファイル"で設定することができますのhttpd - xampp.conf " 。 サーãƒãƒ¼ã®éšœå®³ã¨æ€ã‚ã‚Œã‚‹å ´åˆã¯ã€ã‚¦ã‚§ãƒ–管ç†è€…ã¾ã§ã”連絡ãã ã•ã„。 ↓ サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。 |
変更対象は
C:\xampp\apache\error\XAMPP_FORBIDDEN.html.var
変更前
1 2 |
Content-language: ja Content-type: text/html; charset=ISO-8859-1 |
変更後
1 2 |
Content-language: ja Content-type: text/html; charset=UTF-8 |
ただ、このメッセージだとXAMPP使用しているのがまるみえなので、
C:\xampp\apache\error\HTTP_NOT_FOUND.html.var
を
C:\xampp\apache\error\XAMPP_FORBIDDEN.html.var
に上書きしてもいいかもしれません。
あと、/dashboard/以下もリモートから見えるとやばそうなので、リモートからは見えないようにしてみます。
Apache2を再起動すれば反映されます。
C:\xampp\apache\conf\extra\httpd-xampp.conf
変更前
1 2 3 4 5 6 7 |
# # New XAMPP security concept # <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))"> Require local ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </LocationMatch> |
↓
変更後
1 2 3 4 5 6 7 |
# # New XAMPP security concept # <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info|dashboard))"> Require local ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </LocationMatch> |
なお、ローカルLANからでも表示できるようにするには、以下のように書き換えればいいみたいです。
Require local
↓
Order deny,allow
Deny from all
Allow from 127.0.0.0/8
Allow from 192.168.1.0/24
修正したら、
http://localhost/security/lang.php?ja
にアクセスすれば、文字化けは解消していますので、
真ん中の方にあるリンク、http://localhost/security/xamppsecurity.phpにアクセスして、
ユーザーとパスワードセキュリティー設定をしておきます。
その他設定(PHP・MySQL)
C:\xampp\php\php.ini
1 2 3 4 5 6 7 8 9 10 11 12 |
;default_charset = "UTF-8" date.timezone=Europe/Berlin ;mbstring.language = Japanese ;mbstring.internal_encoding = EUC-JP ;mbstring.http_input = auto ;mbstring.http_output = SJIS ;mbstring.encoding_translation = Off ;mbstring.detect_order = auto ;mbstring.substitute_character = none ;mbstring.func_overload = 0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
↓ default_charset = UTF-8 ;date.timezone=Europe/Berlin date.timezone=Asia/Tokyo mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none mbstring.func_overload = 0 |
C:\xampp\mysql\bin\my.ini
## UTF 8 Settings を探して、その下5行の文頭の # を外す。
init-connect=\’SET NAMES utf8\’ を init-connect=SET NAMES utf8 にする。
1 2 3 4 5 6 |
## UTF 8 Settings init-connect=SET NAMES utf8 collation_server=utf8_unicode_ci character_set_server=utf8 skip-character-set-client-handshake character_sets-dir="C:/xampp/mysql/share/charsets" |
また[client] [mysqldump] [mysql] を探してそれぞれ
default-character-set = utf8
を追加
また、Tomcatのweb-interfaceにログインするには
tomcat-users.xml の<tomcat-users>~</tomcat-users>の間に以下の行を追加すれば、admin/tomcatでアクセスできます。
(デフォルト設定は<!–~–>でコメント化されているので注意)
<role rolename=”manager-gui”/>
<role rolename=”admin-gui”/>
<user username=”admin” password=”tomcat” roles=”manager-gui,admin-gui”/>
おまけ
XAMPPのApacheの特殊パス
dashboard
http://localhost/dashboard/
XAMPPセキュリティ設定
http://localhost/security/
PHPInfo
http://localhost/dashboard/phpinfo.php
phpMyAdmin
http://localhost/phpmyadmin/
Apacheサーバステータス
http://localhost/server-status/
Apacheサーバ情報
http://localhost/server-info/