将 UTF-8 编码文本加载到 MySQL 表中
在要加载到 MySQL 表的 CSV 文件中遇到非英语字符时,确保正确处理字符编码至关重要。当存在非 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中文网其他相关文章!