簡體   English   中英

字符集 utf8mb4 collate utf8mb4_general_ci 不接受帶重音的單詞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM