Casussen (tekencodering)
Incorrect string value: \xE2\x80\xAF (aug. 2019)
Foutmelding bij import in MySQL:
6 warning(s): 1366 Incorrect string value: '\xE2\x80\xAF: 2...' for column 'title' at row 132 1366 Incorrect string value: '\xE2\x80\xAF: 4...' for column 'title' at row 160 1366 Incorrect string value: '\xE2\x80\xAF: 1...' for column 'title' at row 278 1366 Incorrect string value: '\xE2\x80\xAF: 1...' for column 'title' at row 341 1366 Incorrect string value: '\xE2\x80\xAF: 2...' for column 'title' at row 352 1366 Incorrect string value: '\xE2\x80\xAF: 2...' for column 'title' at row 363
Ik weet zeker dat het bronbestand (Amazon-raport) UTF-8-gecodeerd is, en dat de data ook als zodanig geïmporteerd wordt.
UTF-8-code e2 80 af
staat voor NARROW NO-BREAK SPACE [1]. Ik vermoed dat MySQL daar niet mee overweg kan. Sois.
Line-ending 0x0d 0x0a
Dit betreft een Amazon-exportbestand:
00000000: efbb bf73 6b75 0961 7369 6e0d 0a30 3130 ...sku.asin..010 00000010: 3009 4230 3048 5945 5549 584f 0d0a 3031 0.B00HYEUIXO..01
- Je ziet dat regels worden beëindigd met
0d 0a
. Dat is de gewone Windows-manier om regels te eindigen - Om een of andere reden verslikt MySQL zich daarin bij importeren
- Het is een UTF-8-bestand. Zou de combinatie Windows-line-endings en UTF-8 MySQL in de war brengen?