csvを読み込もうとするとどうしてもマルチバイトが文字化けしてしまいました。
array( (int) 0 => 'XXXXXXXXX', (int) 1 => 'eストメッセージ http://yahoo.co.jp' )
このようにテストがeストとなってしまいます。
mbstringのインストール
PHPではマルチバイトを使用するにはmbstinrgをインストールする必要があります。
[root@centos app]# yum install php-mbstring
php.iniの修正
以下を確認します。
[root@centos app]# vim /etc/php.ini [mbstring] mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = Off mbstring.detect_order = auto
CSVファイルの読み込みには更に注意が必用
setlocaleを入れるfgetcsvの前に入れましょう。
$tmp = fopen($uploadfile, "r"); setlocale(LC_ALL, 'ja_JP'); while ($csv = fgetcsv($tmp)) { ・・・