PHP初心者です。
現在、PHPでCSVファイルをmove_uploaded_fileを使って読み込みたいと思っています。
その際に、CSVファイルをそのまま読み込んでみると見事に文字化けしてしまします。
文字化け対策としてmb_convert_encodingを使おうとしているのですが
これがうまくいきません。
ただそもそものCSVファイルをメモ帳で開いて、文字コードをUTF-8 で保存してから
読み込むと成功しています。
しかし、読み込みたいCSVファイルが大量にあるので
一つ一つ文字コードを変換して保存してから読み込むのはかなり手間がかかっしまうので
PHPのコードで文字コードを変換できたら、手間が一つ減ると思って
この方法を採用しようと考えています。
これが現在のコードです。
$upName=mb_convert_encoding("./uploads/".$_FILES['upfile']['name'], "UTF-8", "auto");
浅はかな知識なので第2因数は適当にUTF-8(メモ帳でUTF-8の文字コードを選択して読み込んだら成功したためこちらを選択)、第3因数はauto(これで大体は対応できると参照したサイトに書いてあったため)にしています。
他に試したことはmb_detect_encodingで現在の文字コードを調べてみようと思ったのですが
CSVファイルに様々な文字コードが使われているせいなのかは定かではありませんが、
うまく表示させることができませんでした。
手段としてできないことが、調べていて文字コードを調べる事ができる「サクラエディタ」という
ものがあることを知りましたが、諸事情のためこちらを使うことができません。
どなたかこちらの解決方法をご教授お願い致します。
回答5件
あなたの回答
tips
プレビュー