W mojej bazy danych pojawia się błądSprawdzanie typu UTF-8 bajtów danych 3-lub 4-bajtowy Unicode
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column
używam Java i MySQL 5. Znam 4-bajtowy Unicode jest legalny i Java , ale nielegalne w MySQL 5, myślę, że to może spowodować mój problem i chcę sprawdzić typ moich danych, więc oto moje pytanie: Jak mogę sprawdzić, czy moje dane UTF-8 są 3-bajtowe lub 4-bajtowe Unicode ?
Proponuję patrząc na typ danych kolumna limit długości i rozmiar danych, które próbują wstawić pierwszy. Jeśli wstawiasz 100K znaków do "VARCHAR", nie ma żadnego kodowania. – Jon
Nie sądzę, że 4-bajtowe kodowane znaki UTF-8 są przyczyną tego problemu. Bardziej prawdopodobną przyczyną jest ciąg znaków * n *, który pobiera * m * bajtów (z * m *> * n *), gdy kodowanie UTF-8, ale powinien być umieszczony w VARCHAR (* n *). –
@Jon Sprawdziłem to pierwszy, i to nie był problem, rozwiązałem go już, ale nadal myślę, że użyję sprawdzania kodowania w przyszłości, thaks o pomoc – akuzma