2

MySQL データベースでデータ (製品) を維持するために CSV ファイルが使用されているシナリオがあります。基本的に、クライアントが製品を維持するために従う手順は次のとおりです。

  • 事前定義された列の CSV ファイルに項目を追加します
  • バックエンドで CSV をアップロードします
  • PHP スクリプトが CSV データを反復処理する
  • データは検証/クリーニングされ、MySQL データベースに送信されます

クライアントがアイテムを編集、追加、または削除するときも同じことが逆に適用されますが、これはバックエンドから直接行うこともできます。データベースまたはダウンロードしたスプレッドシートで特定の文字が正しく表示されないという問題が発生したので、私の質問は次のとおりです。

一般に、CSV ファイルの形式でデータを追加および取得するときに、データに適用するのに適したエンコードまたは文字列関数のセットは何ですか? 私のMySQL接続エンコーディングはUTF-8ですが、CSVファイルをUTF-8文字セットで保存しようとしましたが、Excelが自動的にデフォルトのWindows-1252エンコーディングを適用し、すべてのym UTF-8文字を壊しているようです.

Open Office.org などのアプリケーションは、インポート文字セットを求めるプロンプトを表示し、Unicode UTF-8 に設定すると問題なく表示されます。明らかに、クライアントが常に Excel や Open Office を使用しているとは限りません。PC / CSV > MySQL > PC / CSV 作業に戻るための適切なソリューションは何ですか?

すべての提案は歓迎され、高く評価されました。

サイモン

4

2 に答える 2

2

コメントの後に答えるために。データマッパー パターンの実装についてよく理解しhttp://www.joelonsoftware.com/articles/Unicode.htmlてください。これに関する記事の例はこちら - http://www.devshed.com/c/a/PHP/Implementing-the-Data-Mapper-Design-Pattern-in-PHP-5.

于 2011-04-06T10:31:49.600 に答える