mysql - 错误代码 : 1366 && 1300 - MySQL CHARACTER SET Issue

标签 mysql sql character-encoding

我有两个字符集错误,它们阻止我使用旧数据库的内容来填充我的数据库。

<强>1。错误代码 1366:不正确的字符串值“\xDB”

我已尝试将 TABLECHARACTER SET 更改为 utf8mb4

我研究过\xDB 是什么字符类型,然后偶然发现了 this .这让我相信这是一种 Javascript 转义格式。但是,我似乎找不到支持此功能的 MySQL CHARACTER SET

即使我确实找到了支持 Javascript 转义格式的 CHARACTER SET,最好将所有内容都转换为更标准且更全面的 utf8mb4 吗?这将如何完成?

<强>2。错误代码 1300:无效的 utf8mb4 字符串

这是违规字符:®

同样,我尝试了与上述类似的事情,但收效甚微。

编辑:

我在新数据库中设置CHARACTER SET如下:

CREATE TABLE `products` (
    `product_id` INT NOT NULL AUTO_INCREMENT UNIQUE,
    `product_line` VARCHAR(255) NOT NULL,
    `product_num` VARCHAR(255) NOT NULL,
    `description` LONGTEXT NOT NULL,
    PRIMARY KEY (`product_id`)
) CHARACTER SET utf8mb4 ;

编辑 2:

我不知道这有什么不同,但问题是在执行 LOAD DATA INFILE 时出现的,如下所示:

USE `inventory`;

LOAD DATA INFILE
'all_products.csv'
INTO TABLE `products`
    FIELDS
        TERMINATED BY ','
        OPTIONALLY ENCLOSED BY '"'
    LINES
        TERMINATED BY ',\r\n'
IGNORE 1 ROWS
(`product_line`,`product_num`,`description`);

最佳答案

不要盲目地做ALTER ... CONVERT TO ...;这可能会使事情变得更糟。如果您已经对已经不正确的情况进行了“更正”,那么我在下面给出的任何建议都不太可能解决您遇到的两个问题。

®DB 不相互映射。

DB,在各种字符集中表示:

                                    macce   2  1 'Ř'
                           cp1250, latin2   2  1 'Ű'
                           cp1257, latin7   2  1 'Ū'
                     dec8, latin1, latin5   2  1 'Û'
                                      hp8   2  1 'Ü'

与此同时,AE:

cp1250, cp1251, cp1256, cp1257, geostd8,
           hebrew, latin1, latin5, latin7   2  1 '®'
                                    macce   2  1 'ģ'
                                      hp8   2  1 'Û'
                                   latin2   2  1 'Ž'
                    cp850, cp852, keybcs2   2  1 '«'

通常的错误涉及在一个地方指定 latin1,但在另一个地方指定 utf8/utf8mb4

(为了便于讨论,utf8 和 utf8mb4 作用相同。)

This讨论典型问题。我担心要么是错误的更正使情况变得困惑,要么是单个字符不足以进行诊断。参见 this了解可用的修复及其适用的情况。

关于mysql - 错误代码 : 1366 && 1300 - MySQL CHARACTER SET Issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52122461/

相关文章:

mysql - 使用现有数据库 ID 的 Ruby on Rails 不起作用

sql - 按时间间隔计算每组变量

php - MySQL 排序规则类型是否需要匹配 PHP 页面字符集类型?

.Net 4.0 上的 SQL 句柄泄漏,但 .Net 3.5 上没有

javascript - 通过 T-SQL 查询或 C# 或 Javascript/AngularJs 1 从多列和行中获取具有最高日期的记录

ruby - 如何在 Ruby 中通过 TcpSocket 发送 UTF-8 编码的字符串

python - UTF-8 字符是否涵盖了 ISO8859-xx 和 windows-12xx 的所有编码?

mysql - 语法错误或访问冲突 : 1055 'wockhardt_indigo.stock_levels.id' isn't in GROUP BY

php - 如何整合 COUNT(*)?

mysql - 使用Mysql lower_case_table_names 为1