Hieruit komen vraagtekens:
- De klant heeft een geldig karakter (goed), en
- De
SET NAMES
is het eens met de codering die de klant heeft (goed), maar - De
CHARACTER SET
van de doelkolom bevat niet het bedoelde teken (slecht).
Voorbeelden:
latin1
verwerkt alleen West-Europese karakters; een Oost-Europees karakter of een Aziatisch karakter proberen te plaatsen, past niet.latin2
encp1250
kan Tsjechisch aan, dus conversies tussen beide zijn meestal OK, maar niet tussen beide enlatin1
utf8mb4
is een superset vanutf8
.Het plaatsen van een utf8-teken in utf8mb4 is oké, maar het omgekeerde zal resulteren in een '?' in sommige gevallen.
De tekens die zijn omgezet naar '?' kan niet van de tafel worden hersteld.
Hoe toekomstige INSERTs
te repareren ?
- Gebruik
utf8mb4
op de tabelkolom(men) werkt waarschijnlijk in alle gevallen. - Kies anders een
CHARACTER SET
voor de tabelkolom(men) die redelijk overeenkomen met de klantgegevens.
De reden waarom slechts enkele van de tekens ?
(in š?ž??
) is omdat šž
bestaan in latin1 maar de andere niet.
Kort gezegd:verander de CHARACTER SET
in de tabeldefinitie.