Description:
getting error "Cannot convert string '\xA0' from binary to utf8mb4"
How to repeat:
mysql> show global variables like '%char%';
+--------------------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------------------+--------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb3 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------------------------------+
mysql> SELECT @@character_set_database, @@collation_database;
+--------------------------+----------------------+
| @@character_set_database | @@collation_database |
+--------------------------+----------------------+
| utf8mb4 | utf8mb4_0900_ai_ci |
+--------------------------+----------------------+
mysql> CREATE TABLE TABLE2 (
-> TABLE_NAME varchar(100) COLLATE utf8mb4_bin NOT NULL,
-> TALEND_CDC_TYPE varchar(5) COLLATE utf8mb4_bin DEFAULT NULL,
-> TALEND_CDC_CREATION_DATE varchar(30) COLLATE utf8mb4_bin DEFAULT NULL,
-> CCNTRY varchar(3) COLLATE utf8mb4_bin DEFAULT NULL,
-> CPCCD varchar(3) COLLATE utf8mb4_bin DEFAULT NULL,
-> CRCTNM varchar(30) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUADD1 varchar(40) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUADD2 varchar(40) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUADD3 varchar(40) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUCNY varchar(3) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUCYST varchar(30) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUNM varchar(28) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUNM2 varchar(28) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUNO varchar(7) COLLATE utf8mb4_bin NOT NULL,
-> CUSRK varchar(10) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUSTE varchar(3) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUSTST varchar(2) COLLATE utf8mb4_bin DEFAULT NULL,
-> CUTYP varchar(2) COLLATE utf8mb4_bin DEFAULT NULL,
-> DIVI varchar(1) COLLATE utf8mb4_bin DEFAULT NULL,
-> DTSYS8 varchar(40) COLLATE utf8mb4_bin DEFAULT NULL,
-> FACSNO varchar(15) COLLATE utf8mb4_bin DEFAULT NULL,
-> FLGDLI varchar(1) COLLATE utf8mb4_bin DEFAULT NULL,
-> HDCGC1 varchar(3) COLLATE utf8mb4_bin DEFAULT NULL,
-> HDCGC2 varchar(3) COLLATE utf8mb4_bin DEFAULT NULL,
-> IVTYPI varchar(1) COLLATE utf8mb4_bin DEFAULT NULL,
-> LBCC varchar(2) COLLATE utf8mb4_bin DEFAULT NULL,
-> LOC varchar(3) COLLATE utf8mb4_bin DEFAULT NULL,
-> LSMN8 varchar(40) COLLATE utf8mb4_bin DEFAULT NULL,
-> MCCC varchar(2) COLLATE utf8mb4_bin DEFAULT NULL,
-> OECTNM varchar(30) COLLATE utf8mb4_bin DEFAULT NULL,
-> PACC varchar(2) COLLATE utf8mb4_bin DEFAULT NULL,
-> PHNO varchar(15) COLLATE utf8mb4_bin DEFAULT NULL,
-> PRCUNO varchar(7) COLLATE utf8mb4_bin DEFAULT NULL,
-> SVCTNM varchar(30) COLLATE utf8mb4_bin DEFAULT NULL,
-> TERMCD varchar(1) COLLATE utf8mb4_bin DEFAULT NULL,
-> TPDLCD varchar(4) COLLATE utf8mb4_bin DEFAULT NULL,
-> ZIPCD9 varchar(10) COLLATE utf8mb4_bin DEFAULT NULL,
-> STN1 varchar(10) COLLATE utf8mb4_bin DEFAULT NULL,
-> MLSLI0 varchar(1) COLLATE utf8mb4_bin DEFAULT NULL,
-> CINSND varchar(1) COLLATE utf8mb4_bin DEFAULT NULL,
-> CRCLCD varchar(3) COLLATE utf8mb4_bin DEFAULT NULL,
-> TXCD1 varchar(2) COLLATE utf8mb4_bin DEFAULT NULL,
-> PRIMARY KEY (TABLE_NAME,CUNO),
-> KEY CILNAME3 (CUNO)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
mysql> INSERT INTO TABLE2 (
-> TABLE_NAME, TALEND_CDC_TYPE, TALEND_CDC_CREATION_DATE, CCNTRY, CPCCD, CRCTNM, CUADD1, CUADD2, CUADD3,
-> CUCNY, CUCYST, CUNM, CUNM2, CUNO, CUSRK, CUSTE, CUSTST, CUTYP, DIVI, DTSYS8, FACSNO, FLGDLI,
-> HDCGC1, HDCGC2, IVTYPI, LBCC, LOC, LSMN8, MCCC, OECTNM, PACC, PHNO, PRCUNO, SVCTNM, TERMCD,
-> TPDLCD, ZIPCD9, STN1, MLSLI0, CINSND, CRCLCD, TXCD1
-> ) VALUES
-> ('CUSTOMER', 'I', '2024-11-19T09:13:34', 'USA', 'USD', 'John Smith', '123 Main St', 'Apt 4B', NULL, 'USD', 'NY', 'John Smith', NULL, '0000001', 'CUST001', 'NY', '01', 'RE', 'A', '2024-11-19T09:13:34', '555-1234', 'Y', '001', '1A', 'R', 'NY', 'NYC', '2024-11-19', '01', 'Sales Dept', '01', '555-123-4567', NULL, 'Support Team A', '1', 'STD', '10001', 'ST001', 'Y', 'N', 'ABC', '01'),
-> ('CUSTOMER', 'U', '2024-11-19T10:15:00', 'CAN', 'CAD', 'Jane Doe', '456 Elm St', NULL, 'Suite 300', 'CAD', 'ON', 'Jane Doe', 'JD Inc', '0000002', 'CUST002', 'ON', '02', 'CO', 'B', '2024-11-19T10:15:00', '555-5678', 'N', '002', '1B', 'W', 'ON', 'TOR', '2024-11-20', '02', 'Marketing', '02', '555-987-6543', '0000001', 'Support Team B', '2', 'EXP', 'M5V 2T6', 'ST002', 'N', 'Y', 'DEF', '02'),
-> ('CUSTOMER', 'I', '2024-11-20T08:30:15', 'GBR', 'GBP', 'Robert Brown', '789 Oak Rd', 'Floor 2', NULL, 'GBP', 'LDN', 'Robert Brown', NULL, '0000003', 'CUST003', 'LN', '03', 'IN', 'C', '2024-11-20T08:30:15', '555-9012', 'Y', '003', '1C', 'M', 'LN', 'LON', '2024-11-21', '03', 'Finance', '03', '555-345-6789', NULL, 'Support Team C', '1', 'STD', 'SW1A 1AA', 'ST003', 'Y', 'N', 'GHI', '03'),
-> ('CUSTOMER', 'D', '2024-11-21T14:45:30', 'JPN', 'JPY', 'Yuki Tanaka', '1-1-1 Sakura', 'Chiyoda-ku', 'Tokyo', 'JPY', 'TK', 'Yuki Tanaka', NULL, '0000004', 'CUST004', 'TK', '04', 'WH', 'D', '2024-11-21T14:45:30', '555-3456', 'N', '004', '1D', 'S', 'TK', 'TKY', '2024-11-22', '04', 'Logistics', '04', '555-901-2345', '0000002', 'Support Team D', '2', 'EXP', '100-0001', 'ST004', 'N', 'Y', 'JKL', '04'),
-> ('CUSTOMER', 'I', '2024-11-22T11:20:45', 'DEU', 'EUR', 'Hans Mueller', 'Hauptstr. 1', NULL, NULL, 'EUR', 'BE', 'Hans Mueller', 'HM GmbH', '0000005', 'CUST005', 'BE', '05', 'DI', 'E', '2024-11-22T11:20:45', '555-7890', 'Y', '005', '1E', 'T', 'BE', 'BER', '2024-11-23', '05', 'HR Dept', '05', '555-678-9012', NULL, 'Support Team E', '1', 'STD', '10115', 'ST005', 'Y', 'N', 'MNO', '05'),
-> ('CUSTOMER', 'U', '2024-11-23T16:55:00', 'FRA', 'EUR', 'Marie Dubois', '10 Rue de la Paix', '3me tage', NULL, 'EUR', 'PA', 'Marie Dubois', NULL, '0000006', 'CUST006', 'PR', '06', 'RE', 'F', '2024-11-23T16:55:00', '555-2345', 'N', '006', '1F', 'U', 'PR', 'PAR', '2024-11-24', '06', 'Legal Dept', '06', '555-234-5678', '0000003', 'Support Team F', '2', 'EXP', '75001', 'ST006', 'N', 'Y', 'PQR', '06'),
-> ('CUSTOMER', 'I', '2024-11-24T09:10:20', 'AUS', 'AUD', 'Sarah Johnson', '42 Wallaby Way', 'Sydney', NULL, 'AUD', 'NS', 'Sarah Johnson', 'SJ Pty Ltd', '0000007', 'CUST007', 'NS', '07', 'WH', 'G', '2024-11-24T09:10:20', '555-6789', 'Y', '007', '1G', 'V', 'NS', 'SYD', '2024-11-25', '07', 'R&D Dept', '07', '555-789-0123', NULL, 'Support Team G', '1', 'STD', '2000', 'ST007', 'Y', 'N', 'STU', '07'),
-> ('CUSTOMER', 'D', '2024-11-25T13:40:35', 'BRA', 'BRL', 'Carlos Silva', 'Av. Paulista 1000', 'Sala 501', 'So Paulo', 'BRL', 'SP', 'Carlos Silva', 'CS Ltda', '0000008', 'CUST008', 'SP', '08', 'MA', 'H', '2024-11-25T13:40:35', '555-0123', 'N', '008', '1H', 'X', 'SP', 'SAO', '2024-11-26', '08', 'IT Dept', '08', '555-012-3456', '0000004', 'Support Team H', '2', 'EXP', '01310-100', 'ST008', 'N', 'Y', 'VWX', '08'),
-> ('CUSTOMER', 'I', '2024-11-26T10:25:50', 'IND', 'INR', 'Priya Patel', '777 MG Road', 'Bangalore', NULL, 'INR', 'KA', 'Priya Patel', NULL, '0000009', 'CUST009', 'KA', '09', 'SE', 'I', '2024-11-26T10:25:50', '555-4567', 'Y', '009', '1I', 'Y', 'KA', 'BLR', '2024-11-27', '09', 'Customer Svc', '09', '555-456-7890', NULL, 'Support Team I', '1', 'STD', '560001', 'ST009', 'Y', 'N', 'YZA', '09'),
-> ('CUSTOMER', 'U', '2024-11-27T15:05:10', 'SGP', 'SGD', 'Lee Kuan Yew', '1 Marina Bay', '#10-01', NULL, 'SGD', 'SG', 'Lee Kuan Yew', 'LKY Pte Ltd', '0000010', 'CUST010', 'SG', '10', 'DI', 'J', '2024-11-27T15:05:10', '555-8901', 'N', '010', '1J', 'Z', 'SG', 'SIN', '2024-11-28', '10', 'Operations', '10', '555-890-1234', '0000005', 'Support Team J', '2', 'EXP', '018989', 'ST010', 'N', 'Y', 'BCD', '10');
mysql> SELECT
-> CASE
-> WHEN TABLE2.CUNM2 IS NOT NULL AND TRIM(TABLE2.CUNM2) <> '' THEN
-> LTRIM(
-> RTRIM(
-> CONCAT(
-> LTRIM(
-> RTRIM(
-> REPLACE(
-> REPLACE(
-> REPLACE(
-> REPLACE(TABLE2.CUNM, CHAR(10), CHAR(32)),
-> CHAR(13), CHAR(32)
-> ),
-> CHAR(160), CHAR(32)
-> ),
-> CHAR(9), CHAR(32)
-> )
-> )
-> ),
-> ' ',
-> LTRIM(
-> RTRIM(
-> REPLACE(
-> REPLACE(
-> REPLACE(
-> REPLACE(TABLE2.CUNM2, CHAR(10), CHAR(32)),
-> CHAR(13), CHAR(32)
-> ),
-> CHAR(160), CHAR(32)
-> ),
-> CHAR(9), CHAR(32)
-> )
-> )
-> )
-> )
-> )
-> )
-> ELSE
-> LTRIM(
-> RTRIM(
-> REPLACE(
-> REPLACE(
-> REPLACE(
-> REPLACE(TABLE2.CUNM, CHAR(10), CHAR(32)),
-> CHAR(13), CHAR(32)
-> ),
-> CHAR(160), CHAR(32)
-> ),
-> CHAR(9), CHAR(32)
-> )
-> )
-> )
-> END AS field_name
-> FROM TABLE2;
ERROR 3854 (HY000): Cannot convert string '\xA0' from binary to utf8mb4