猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

未分類

PHPでCSVの読み込みにマルチバイトを使用する

投稿日:

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)) {
・・・

Gooleアドセンス用336

Gooleアドセンス用336

-未分類
-

執筆者:

関連記事

CakePHPのVaridationのalphaNumeric(半角英数字)は正常に機能しない

alphaNumeric(半角英数字)だけは何故か機能せずにパスしてしまいました。 カスタムチェックにするのが一番手っ取り早いようです。 応用すればオリジナルVaridationが簡単に作成できます。 …

basename関数で日本語が入るとファイル名を抜きだせない

$uploadfile = $uploaddir.DS.basename($file[‘name’]); とした場合、ファイル名に日本語が含まれる場合basename関数が正しく機能してくれません。 …

CakePHP Viewのラベルを変更する

デフォルトでは列タイトルがそのまま表示されてしまいます。 分かりやすい日本語表示に変更します。 INPUTの場合は以下のようにします。 <div class="companies fo …

CakePHPでパスワードを暗号化して保存する

CakePHPでパスワードを暗号化して保存するには、 モデルにbeforeSaveメソッドを以下のように追加します。 モデル User.php App::uses(‘AuthComponent’, ‘ …

asp

IISの設定

Visual StudioでLocalに配置したサイトが、ブラウザで表示できず、下記エラーが表示された場合の対処法です。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ …