Am date murdare. Uneori conține caractere de genul acesta. Folosesc aceste date pentru a face interogări precum
Pentru acest personaj obțin
org.hibernate.exception.GenericJDBCException: Mix ilegal de colațiuni (utf8_bin, IMPLICIT), (utf8mb4_general_ci, COERCIBLE), (utf8mb4_general_ci, COERCIBLE) pentru operația „IN”
Cum pot filtra personaje de genul acesta? Folosesc Java.
6 Răspunsuri 6
Când am avut o astfel de problemă, am folosit scriptul Perl pentru a mă asigura că datele sunt convertite în UTF-8 valid folosind un cod de genul acesta:
Acest script preia (posibil corupt) UTF-8 pe stdin și reimprimă UTF-8 valid pe stdout. Caracterele nevalide sunt înlocuite cu (U + FFFD, caracter de înlocuire Unicode).
Dacă rulați acest script pe o intrare UTF-8 bună, ieșirea ar trebui să fie identică cu intrarea.
Dacă aveți date în baza de date, este logic să utilizați DBI pentru a vă scana tabelul (tabelele) și pentru a curăța toate datele folosind această abordare pentru a vă asigura că totul este valid UTF-8.
Aceasta este o versiune Perl one-liner a aceluiași script:
EDIT: S-a adăugat o soluție numai Java.
- Cum poți elimina materialul seminal din corp după sex
- Puterea vindecătoare a sării Scrubul de sare după baie poate elimina gândurile negative
- Informații despre detoxifiere și organele care elimină toxinele
- Cum să scapi de un Hickey (Cum să elimini rapid un semn de mușcătură de dragoste) - Dietburrp
- Interior - Conversia numărului de calorii pe bicicleta staționară de gimnastică standard în date de alimentare - Sticlă de biciclete