![](/img/trans.png)
[英]COLLATION 'utf8mb4_general_ci' is not valid for CHARACTER SET 'binary'
[英]character set utf8mb4 collate utf8mb4_general_ci does not accept words with accents
我有一個為 utf8mb4 配置的字符集並整理為 utf8mb4_general_ci 的數據庫,但是當我運行命令時
CREATE TEMPORARY TABLE TESTE(
CAMPO VARCHAR(200)
);
INSERT INTO TESTE (CAMPO) VALUES ('é');
select * from TESTE;
它返回了我的錯誤
1 Incorrect string value: '\xE9' for column 'CAMPO' at row 9 SQL1.sql 9 20
發生的事情是我正在使用 LOAD DATA INFILE 在我的數據庫中插入值,並且我需要我的表接受重音字符
我在 mysql 8.0.19 和你在 5.7 中看到的那樣運行它
CREATE TEMPORARY TABLE TESTE( CAMPO VARCHAR(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ); INSERT INTO TESTE (CAMPO) VALUES ('é');
✓ ✓
select * from TESTE;
| 坎普 | |:---- | | é |
db<> 在這里擺弄
兩者都工作得很好。
檢查您的數據庫,表/列在您沒有正確字符集的地方
必須將我在表上插入的值的字符集更改為 latin1
我正在使用
LOAD DATA INFILE 'pathToMyFile.csv'
INTO TABLE myTable
FIELDS TERMINATED BY ';'
所以我不得不添加命令CHARACTER SET latin1
soo 我的代碼現在就像
LOAD DATA INFILE 'pathToMyFile.csv'
INTO TABLE myTable
CHARACTER SET latin1
FIELDS TERMINATED BY ';'
並且工作正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.