Ubuntu 11.10:php5での日本語使用と文字化け対策方法

Ubuntuでは基本、UTF-8という文字コードを使用しています。
そのため、いざphpでサイトやアプリを作っても、文字化けすることが多々あります。



初期設定では、日本語等のマルチバイト文字を使うこともできません。



php.iniを編集して、日本語を使用できるようにします。
文字コードの基本設定をUTF-8に合わせておきます。




■日本語を使用できるようにする。

端末より、以下のコマンドを実行して、php.iniの内容を書き換えます。



$ sudo nano /etc/php5/apache2/php.ini



エディタが開くので、php.iniファイルの中身を編集します。


ファイルの中から「Dynamic Extensions」の項目を探します。
(「ctrl+W」で検索を使うと便利です。)



Dynamic Extensionsに以下の赤字部分を付け足します。


;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; ... or under UNIX:
;
; extension=msql.so
;
; ... or with a path:
;
; extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.

extension=php_mbstring.dll



これで日本語などのマルチバイト文字が使用可能になります。




■文字コードをUTF-8に設定する。

php.iniの中から「default_charset」を検索します。
default_charsetを以下の赤字のように変更します。


default_charset = "UTF-8"
↑「""」が必要です。この行の先頭に 「;」があった場合はそれを取り除きます。




php.iniの中から「mbstring」の項目を探します。
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 = UTF-8
↑行の先頭に「;」があるのでそれを取り除きます。

; http input encoding.
; http://php.net/mbstring.http-input
;mbstring.http_input = auto

; http output encoding. mb_output_handler must be
; registered as output buffer to function
; http://php.net/mbstring.http-output
mbstring.http_output = UTF-8
 ↑行の先頭に「;」があるのでそれを取り除きます。



これで、phpで日本語が使えるようになります。





■日本語表示の確認

エディタ等を使い、以下のphpコードを記述してみてください。


<?php
echo ("日本語出力できました。");
?>



記述したコードを「test.php」という名前で保存してください。
保存したファイルをapacheのドキュメントルートに置いてください。


localhost/test.phpにアクセスすれば、日本語が表示されたのが確認できると思います。





0 件のコメント:

コメントを投稿