• ベストアンサー

CSVファイル 保存 データ化け

CSVファイルで次のデータを保存するとデータ化け(文字化け)してしまいます。 入力データのまま保存するにはどのようにすればよいのでしょうか? 例)15-01-02  → 2015/1/2 15-01-02のままでcsvファイル保存したいです。 次にファイルを開くと右のデータになってしまいます。 以上、宜しく御願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Excelで開きさえしなければ大丈夫。あれは文字化けしてるんじゃな くて、Excelがcsvを開く時に、日付のように見える文字列を勝手に 変換している余計なお世話機能なんです。この季節になると山のよ うに出てくる質問ですね。 どうしてもExcelで開く必要があるなら、ファイル名の末尾をCSVか らTXTに変えて開きます。するとウィザードが起動して細かい設定が 可能になるので、該当する列を文字列として読み込むように指定し て下さい。

kkk777
質問者

お礼

御回答有難う御座いました。 わかりました 早速ためしてみます。 これからも、宜しく御願い致します。

関連するQ&A

  • csvファイル出力時に文字化けしてしまう。

    csvファイル出力時に文字化けしてしまう。 csvファイルを作成して、保存してExcelで開くと文字化けしてしまいます。 保存するときに「右クリック→ファイルの保存」ではなく、「左クリック」するとデータがブラウザ上(FireFoxで確認)で観れるのですが、その時は文字化けしていません。 また、保存したファイルをTeraPadで開くと文字化けしませんでした。 ファイルの保存方法は、 $csvFile = 'entry.csv'; $csvData = "適当なデータ・・・・・・・・・・・・・・"; $fp = fopen($csvFile, 'ab'); flock($fp, LOCK_EX); ftruncate($fp,0); fwrite($fp,$csvData); fclose($fp); htmlのヘッダーには、 <meta http-equiv="Content-type" content="text/html; charset=utf-8"> を入れております。 以上よろしくお願いします。

    • ベストアンサー
    • PHP
  • ExcelからCSVファイルへの変換と文字化け

    エクセルからCSVファイルへの変換したときの文字化けに悩まされています。 たとえば、 千代田区大手町19-1 という住所がはいっているセルがあり、CSVに変換すると、 千代田区大手町19?1 となります。 エクセルで開いても、テキストエディタで開いても「-」が「?」に文字化けします。 エンコードの問題なのでしょうが、どうすれば文字化けが解消されるのか、わかりません。 エクセルはデフォルトではSJISで保存されるようなので、 UTF8で保存すれば、文字化けはなくなるのかもしれません。 ただ、 http://web-laboratories.com/excel-csv こちらのサイトにあるように、 [WEBオプション]をつかってUnicode[UTF-8]で保存しても、 テキストエディタで開きなおすと、SJISのままになっているようです。 文字化けをさせないCSVファイルへの保存のやり方を教えてください。

  • VBで出力したCSVファイルの文字化けについて。

    VBで複数のCSVファイルから必要なデータのみを 新たなCSVファイルに出力するアプリケーションを作成しています。 処理自体は出力ファイルの作成まできちんとできるのですが、 エクセルで開くと文字化けが起きてしまいます。 文字化けが起きるのは漢字と片仮名(全角、半角両方)です。 ちなみにNotepadで開くと文字化けは起きていませんでした。 また、エクセルのほかにwordpadで開いても文字化けが起きていました。 入力用のCSVファイルの文字コードは分かっていません。 ファイルの読み込みはGetEncoding("Shift_JIS")で読み込んでいます。 文字化けに関する質問は他にも多数あり重複しているかもしれませんが 宜しくお願いします。

  • 英語版WindowsでのCSVファイルの日本語文字化け

    いくつか英語版Windowsを持っているのですが、CSVファイルでどうしても日本語が文字化けして困っています。データファイルとしてWebSiteからダウンロードしたCSVは常に文字化けしています。自分でその英語版WindowsでExcelで作製して、「名前をつけて保存」でCSV形式保存しても、保存した瞬間は日本語のままですが、一度閉じてからまた開くと日本語部分は必ず文字化けしています。ExcelはOffice2003のものです。よい解決方法はありませんでしょうか。 何卒よろしくお願いいたします。

  • 困っています!! ExcelをCSVファイルにしたあと。

    ご存知の方にとっては恥ずかしいくらいの質問かもしれませんが、どうか教えて下さい! win xp、Office2000を使用しています。 Excelでデータの編集が終わったあとに、ファイル形式をCSVで保存するよう言われ、入力後に「ファイルの名前を付けて保存」→ファイルの種類で「CSV」を選択して保存を致しました。 その際、ファイル名は「英小文字のみ.csv」にしています。 保存後、確認の為に再度そのファイルを開いたところ、 1、文字幅に合わせて大きさを変えた列幅が基準値に戻ってしまっている。 2、「文字列」を使用して、ゼロから始まる数字を打ち込んだ列がゼロを表示しない(01>1)、数字を全角で打ち込んでいるのに半角に戻ってしまう(15>15)。 という状態になってしまいます。 テキストエディタで確認したところ、きちんとカンマで区切られてはいるのですが、上記の2に関しては、半角になったままだったりと、入力した状態での表示ではありませんでした。 保存する際に、 「英小文字のみ.csv」はCSV(カンマ区切り)と互換性のない機能が含まれている可能性があります。 というメッセージが出ます。 Excelに関しては、まったくといっていいほど初心者です。苦手で逃げていた自分が悪いのですが…。 今回CSVというファイル形式も初めて知りました…。 NETで調べたりしてみたのですが、どうしてもわかりません。 CSVにしたあとに、通常1のようになってしまうものなのでしょうか? また、入力したままの状態が表示されるようにするには、どうしたらよいのでしょうか? ご存知の方がいらっしゃいましたら、ぜひお知恵を貸してください! よろしくお願い致します!

  • CSVファイルのデータが、データベース上で文字化け

    CSVファイルのデータが、データベース上で文字化けする現象を解決したい! CSVファイルは、任意の場所にFTPソフトを使用してアップロードし、プログラム上でCSVを読み込むという手順です。 ■開発関係情報 phpは使用しておらず開発はperlを使用 開発プログラムの文字コードはEUC-JPで、出力されるHTMLの文字コードはShift-JISです。 (1)hetemlに設置した場合は正常に動作しました。 予め作成されていたデータベースのエクスポートファイルをインポートしてテーブルを作成しましたがインポート時のファイルの文字セットは「utf8」で、コーディングへの変換は「non」で実行しています。 MySQLバージョン:5.0.82 MySQLの文字セット:UTF-8 Unicode(utf8) MySQLの接続照合順序:utf8_unocode_ci phpMyAdmin - 2.11.11.3 MySQL クライアントのバージョン: 4.0.25 (2)無料のレンタルサーバー(国外)に設置すると文字化けします。 (1)と同じ手順で行うと、データベース上でCSVデータの日本語が文字化けします。 MySQLバージョン:5.1.65-cll MySQLの文字セット:UTF-8 Unicode(utf8) MySQLの接続照合順序:utf8_unocode_ci phpMyAdmin - 3.4.11.1 MySQL クライアントのバージョン: 4.1.22 そこでCSVをFTPでアップせずデータベースでインポート(ファイルの文字セット:utf-8、エンコーディングの変換なし)しようとすると「CSV入力のカラム数が不正です」というエラーになります。 色々と調べていると、文字コードをすべてEUCに統一すると文字化け解決と書いてあったので、CSVファイル・MySQLの接続照合順序・インポートするときの文字セットなどの思い当るところ全てをEUCに指定して、エンコーディングへの変換を「EUC」に「全角カナへ変換する」にチェックを入れて実行してみても、やはり「CSV入力のカラム数が不正です」エラーになります。 この時、フォーマット項目で「LOAD DATA文を使用したCSVの読み込み」を選択し、特有のオプションで「カラムの終端記号」を「,」「カラム囲み記号」を「"」に設定して、CSVファイルでは区切りを「,」と「","」の2パターンで試しても同じエラーでした。 また、気になる点としては、MySQLの文字セットはUTF-8のままでどうやって変更するのかがわかりません。 開発にphpは使用していなくても、phpmyadminを使用しているということはphp.iniの設定が必要ですよね? php.iniの設定は、権限が与えられていなければサーバー側で設定を行ってもらう必要があるのでしょうか?(初歩的な事ですみません) 試行錯誤していますが、解決法が分からず困っています。 どなたかご教示いただけませんでしょうか。 何卒よろしくお願い致します。

  • CSVファイルのデータ型について

    初めて質問します。よろしくお願いします。 拡張子「.xls」のファイルを「.csv」に変えるときに、データの形が変わってしまいます。 (エクセルでは「001」(文字列)のものが、CSVで保存すると「1」(数値)となってしまう) これを解決するために エクセルから文字列のデータを持ってきて貼り付け・保存しようとしましたが、 何度やってもデータは数値になってしまいます。 データ量が多いので、手ではとても直せません。。。 どなたか、よい方法がありましたらご教授ください。

  • csvファイル文字化け

    csvファイルをExcelで開くと文字化けしてしまいます。クライアントの人間が送ってきたファイルなのですが、クライアントは正常に開けるようです。何が文字化けの原因になっているのか、またどうすれば解決できるか教えてください。

  • メールで添付されたCSVファイルを開くと文字化けしてしまいます。

    ソフトにあまり詳しくないので質問させてください。 仕事でとあるレポートがCSVファイルでメールに添付されてくるのですが、そのファイルをそのまま開くと文字化けしてしまいます。EXCELファイルで文字化けさせずに開きたいのですが、どのようにしたらよいでしょうか? メールソフトは「Becky」を使用しています。 Outlookを使用している人にも同じCSVファイルが送付されるのですが、その人は、きちんと文字化けせずに開けます。 わかりやすく教えていただけると助かります。 よろしくお願いします。

  • エクセルデータからCSVファイルへの変換について

    現在エクセルファイルにあるデータをCSVファイルへ変換する作業(エクセルでデータを作成して、保存時にCSVファイルを選択)をしているのですが、以下の例の場合うまく変換ができません・・・。 基本的な質問かもしれませんがどなたかご存知でしたら教えていただけると助かります。 よろしくお願いします。 【例】         (エクセル) ⇒  (CSV) うまくいく   12345     12345 うまくいかない 01234     1234 上記のようにエクセル上は文字列で管理されている ケースだとCSVファイルに変換した時数列に変換 され、上記例のうまくいかないケースのように 頭に0がある場合CSVだと0が消えてしまいます。 よろしくお願いします。