PHP(ピー・エイチ・ピー)

PHP4では読み込めていたんですが。。。

 先日、

急にあるプログラムが正常に動作しなくなったとの報告がありました。

 

調べてみると、

fgetcsv()関数でCSVデータを読み込む際に、

日本語の項目が正常に読み込めていませんでした。

 

その部分のソースは以下になります。

if(file_exists("sample.csv")){

$fp = fopen(FILENAME, "r"); //データファイルを読み込みモードでオープン
flock($fp,LOCK_EX); //データファイルのロック

//ファイルの読み込み
while($data = fgetcsv($fp, 8960, ",")){

~~ いろいろな処理 ~~

}

flock($fp,LOCK_UN); //ファイルのロック開放
fclose($fp); //ファイルのクローズ

}

これは、

もしかするとPHPのバージョンが4から5へ上げられたのではと思い調べてみると、

やはりバージョンが変更されていました。

 

PHP5からは仕様が変わったみたいで、

「"(ダブルコーテーション)」で囲ってやらないと、

日本語などは正常に読み込んでくれないようです。

 

ただ、

解決策は簡単で、

fgetcsv()の上辺りに

setlocale(LC_ALL, "ja_JP");

を追加するだけです。

 

これで問題は解決です。

 

というか、

まだ、PHP4のサーバが存在しているとは。。。

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. ドメインについて
  2. WP:WordPress(ワードプレス)
  3. URL設計(URLデザイン)
  4. URL「ディレクトリ名」と文字アンダースコア(_)とハイフン(-)
  5. SEO対策(外部ファイルの読み込み)
  6. URL リダイレクト
  7. インデックスされない
  8. 内部対策は必要?
  9. CMS(シーエムエス)
  10. SEO業者は必要?

Twitter

アーカイブ

PAGE TOP