ホームページ >データベース >mysql チュートリアル >Python を使用して UTF-8 エンコードされたテキストを MySQL テーブルにロードする方法
UTF-8 エンコードされたテキストを MySQL テーブルにロードする
MySQL テーブルにロードするための CSV ファイルに英語以外の文字が含まれる場合、文字エンコーディングを適切に処理することが重要です。これは、非 ASCII 文字が存在する場合に特に重要になります。非 ASCII 文字の表現は、選択したエンコーディングに基づいて変化する可能性があるためです。
あなたの場合、対応するテーブル列の文字セットを UTF-8 に設定するだけでは機能しない可能性があります。十分であること。データのロード中に英語以外の文字が正確に保持されるようにするには、LOAD DATA LOCAL INFILE コマンド中に文字セットを明示的に指定することが重要です。
Python の場合、次のアプローチを使用できます。
<code class="python">import MySQLdb # Connect to the database db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="database_name") cursor = db.cursor() # Prepare the LOAD DATA statement stmt = ("LOAD DATA INFILE 'file' " "IGNORE INTO TABLE table " "CHARACTER SET UTF8 " "FIELDS TERMINATED BY ';' " "OPTIONALLY ENCLOSED BY '"' " "LINES TERMINATED BY '\n'") # Execute the statement cursor.execute(stmt) # Commit the changes db.commit()</code>
ステートメントで CHARACTER SET UTF8 を明示的に指定することにより、MySQL はデータを UTF-8 でエンコードされたものとして解釈するように指示されます。これにより、たとえ ASCII 範囲外の文字が含まれていたとしても、英語以外の文字が正しく表現され、テーブル内に格納されることが保証されます。
以上がPython を使用して UTF-8 エンコードされたテキストを MySQL テーブルにロードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。