質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.90%

phpmyadminでcsvファイルのインポート

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,322

score 251

下記のてけんですが、一つ検証してわかったことかあります。
csvの中に、ローマ数字が使用されており、macで表示される際に、㈼と変換されており
これがmysqlに取り込まれた際にそれから複数行がスキップされております。
そうも機種依存の文字化けと呼ばれるみたいですが、これを解消(mysql)へ取り込める方法
はありますでしょうか。CSV側では複数の種類のこのような機種依存の文字が使われているため
毎回、置換するのは現実的ではない状況です。
よろしくお願い申し上げます。

まだまだ初心者で申し訳ございませんが、質問をさせてください。

表題の通り、csvファイルをデータベースに取り込むべくインポートをphpmyadminから行っております。

phpmyadmin > インポート >ファイル文字セット(UTF-8)>エンコーディング(SJIS)>実行
の手順です。ファイルセット文字やエンコーディングの組み合わせもいろいろ試してみております。
csvファイルはレコードが7000行、カラムが10列程度です。

①このように実行した結果、エラーなく取り込まれた表示がされ、文字化けも解消しているのですが、明らかに欠けているレコードが存在いたします。すなわちエラーがないのにインポートが漏れております。レコード600行程度が欠落しておりました。これらのレコードを見る限り、セルに空欄や余計なカンマ等取り込む際に問題となるようなものは検出されませんでした。

②①の中で漏れているレコードを別のcsvに抜き出し単体で、同じ条件でインポートを行ったところ、インポートすることができました。

③文字化けを問題とせずに取り込んだ場合、特に漏れなくレコードが取り込まれていることが確認できました。

抽象的で申し訳ございませんが、上記のような状況でどこに問題があるのかに困惑しております。どなたか同じ経験等で解決方法もしくは問題点等がわかる方、ご教示をいただけませんでしょうか。直接csvデータをお見せしたいのですが、お見せできず抽象的な形での質問となり申し訳ございません。追加の必要な情報があれば速やかにコメントさせていただきます。

よろしくお願い申し上げます。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • A.Ichi

    2016/08/04 09:08

    ご存知かもしれませんが、大量csvのインポート方法として xampp/phpMyAdmin/config.inc.php の中の $cfg[‘UploadDir’]=”; を $cfg[‘UploadDir’]=’./upload’; に変更する方法が紹介されています。

    キャンセル

  • SugiuraY

    2016/08/04 10:23

    レンタルサーバーのため、configファイルの修正の方法を管理者に確認してみます。ただしながら、現在のファイルを10分割しても、同じ症状が発生するので、データの量ではなく、エンコードに原因がある気が、しております。。

    キャンセル

  • asahina_dev

    2016/08/04 21:26 編集

    さくらレンタルサーバーのphpMyAdmin は設定変更不可能ですよ・なので 自分のWWW以下にphpMyAdmi を配備してくださいね

    キャンセル

回答 1

checkベストアンサー

0

基本的にUTF8ですべて処理すればよいかも
とくに環境依存文字は波ダッシュとか根深く
カッコ株とかローマ字、丸数字など一部変換がうまくいかないものもあります

またSJISが絡むと、5C問題などで引っかかる場合もあります

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.90%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る