首页 >数据库 >mysql教程 >如何将编码为 UTF-8 的 Unicode 文本加载到 MySQL 表中?

如何将编码为 UTF-8 的 Unicode 文本加载到 MySQL 表中?

Susan Sarandon
Susan Sarandon原创
2024-10-28 12:10:02611浏览

How to Load Unicode Text Encoded as UTF-8 into a MySQL Table?

将编码为 UTF-8 的 Unicode 文本加载到 MySQL 表中

将包含以 UTF-8 编码的非英语字符的 CSV 文件中的数据导入到 MySQL表中,必须采取特定步骤来确保正确的字符处理。

字符集配置:

在加载数据之前,必须设置相应列的字符集表中的 utf8。这确保列可以存储 UTF-8 编码的数据。

使用 LOAD DATA INFILE 加载数据:

使用以下语法进行 LOAD DATA INFILE 命令加载the data:

<code class="sql">LOAD DATA INFILE 'file'
IGNORE INTO TABLE table
CHARACTER SET UTF8
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'</code>
  • CHARACTER SET UTF8: 指定数据以 UTF-8 编码
  • IGNORE: 跳过由于字符编码问题而无法正确加载的任何行
  • 由“;”终止的字段:如果您的文件使用不同的分隔符来分隔列,请将其更改为适当的分隔符
  • OPTIONALLY ENCLOSED BY '"':如果您的数据包含需要引用的特殊字符,请使用此
  • LINES TERMINATED BY 'n':修改为反映 CSV 文件中的行结束符

示例:

<code class="python">import MySQLdb

conn = MySQLdb.connect(host="localhost", user="user", passwd="password", db="database")
cursor = conn.cursor()

# Set the character set of the column
cursor.execute("ALTER TABLE table MODIFY COLUMN column_name VARCHAR(255) CHARACTER SET UTF8")

# Load the data using LOAD DATA INFILE
cursor.execute(
    """
    LOAD DATA INFILE '/path/to/file.csv'
    IGNORE INTO TABLE table
    CHARACTER SET UTF8
    FIELDS TERMINATED BY ';'
    OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    """
)

conn.commit()</code>

以上是如何将编码为 UTF-8 的 Unicode 文本加载到 MySQL 表中?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn