読者です 読者をやめる 読者になる 読者になる

初めてのシステムと日記

システムも日記も初めてです。

研修(Ethna:文字化け対策)

サンプルを作ってブラウザで確認すると文字化けが起きた。

原因は以下の通り


  ・Ethnaの内部文字コードEUC-JP

  ・PHPの内部文字コード:UTF8

   →内部文字コードが違う→プログラム実行すると文字化け


なのでPHPの内部文字コードEUC-JPにする。

しかし、php.iniで設定をしてしまうと、

サーバー全体に影響を与えてしまう。


なので、.htaccessファイルを用いて設定を行う。

.htaccessはこれがあるディレクトリ以下の設定を行う。

今回はEthnaのスケルトン(public_html/projectname/)の直下に置く。


設定は以下の流れで行う。


.htaccessの有効設定

httpd.confで.htaccessを有効に設定する。

自分の公開ディレクトリ
<Directory "/home/*/public_html">
 -  AllowOverride FileInfo AuthConfig Limit Indexes
 +  AllowOverride All
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>


.htaccess作成

pulic_html/project_nameの直下に.htaccessを作成。

文字コード指定などの処理を記述する。

$ vi .htaccess

php_value mbstring.internal_encoding "EUC-JP" ← 文字コードをEUC-JPに設定

.htaccessphp.iniと記述の仕方が異なる。


php.ini    mbstring.internal_encoding = EUC-JP

.htaccess   php_value mbstring.internal_encoding "EUC-JP"



これで特定のディレクトリのみの設定変更が可能。