PHP:fgetcsv()で気をつけること

マラソン大会/出場記録」を忘備録として付けている。

PHPというプログラム言語を使って、csvのデータを表示する。
見よう見まねで私が書いた(しかし私はプログラマではないのでソースは自信なし)。

サーバを引っ越ししたら、ここに書いた「ハーフ」とかいくつかの文字が非表示になってしまった。前はちゃんと表示されていたのに…。HTMLソースコードを見ると、その中身は空欄だった。データがちゃんと読み込まれていないらしい。

日本語だけが表示されないわけだから、文字コードを確認するも間違いはない。途方に暮れていた。すると会社の人が、
「うちの会社のHPに解決法が書いてありますよ」とな。
「あ、そうなの!」

「fgetcsv()で日本語が読み込めない」というタイトル。まさにこれこれ。解決法はダブルクォーテーションでくくるというもの。

ついでに、Viを利用して置換する時には、
行の先頭は「^」
行の最後は「$」
なので、それを利用して変換する方法もあると教えてもらった。

最初に「,(カンマ)」は「”,”」とガツンと置換して、
「:%s/^/”/」
「:%s/$/”/」
もっと効率的なものもあるかもしれないけど、この3つで終わったからこれも結構でございますね。