Фиксирование невоспроизводимого & ldquo; неправильного строкового значения & rdquo; [Дубликат]

Мне кажется, что вам не хватает репозитория google(), чтобы получить зависимость.

Вот ссылка на файл pom, который вы ищете: https: //dl.google.com/dl/android/maven2/com/android/tools/testutils/26.1.0-alpha01/testutils-26.1.0-alpha01.pom

80
задан CodeKingPlusPlus 30 November 2012 в 23:51
поделиться

9 ответов

Я столкнулся с той же проблемой и решил ее, установив Collation в utf8_general_ci для каждого столбца.

3
ответ дан Appy 25 August 2018 в 03:03
поделиться

Странно, я обнаружил, что УДАЛЕНИЕ &characterEncoding=UTF-8 из JDBC url сделал трюк для меня с аналогичными проблемами.

Основываясь на моих свойствах,

jdbc_url=jdbc:mysql://localhost:3306/dbName?useUnicode=true

, я думаю это поддерживает то, что сказал @Esailija выше, то есть мой MySQL, который действительно 5.5, выясняет свой собственный любимый вкус кодировки UTF-8.

(Заметьте, я также указываю InputStream Я читаю с UTF-8 в java-коде, что, вероятно, не больно) ...

10
ответ дан Eray Balkanli 25 August 2018 в 03:03
поделиться

Я полагаю, что MySQL не считает это действительным текстом UTF8. Я попробовал вставку в тестовую таблицу с тем же определением столбцов (соединение с mysql-клиентом также было UTF8), и хотя он вставлял, данные, которые я получил с клиентом MySQL CLI, а также JDBC, неправильно отображали значения. Чтобы убедиться, что UTF8 работает правильно, я вставил «ö» вместо «o» для obama:

johan@maiden:~$ mysql -vvv test < insert.sql 
--------------
insert into utf8_test values(_utf8 "walmart öbama                   
2
ответ дан Friek 25 August 2018 в 03:03
поделиться

Как я решил свою проблему.

У меня был

?useUnicode=true&amp;characterEncoding=UTF-8

В моем соединении hibernate jdbc url и я изменили строковый тип данных на longtext в базе данных, который раньше был varchar.

3
ответ дан Indrek Ruubel 25 August 2018 в 03:03
поделиться

Добавьте строку useUnicode=true&amp;characterEncoding=UTF-8 к URL-адресу jdbc.

В вашем случае данные не отправляются с использованием кодировки UTF-8.

2
ответ дан JHS 25 August 2018 в 03:03
поделиться

У меня была одна и та же проблема, и после тщательного изучения всех кодировок и выяснения, что с ними все в порядке, я понял, что искаженное свойство, которое у меня было в моем классе, было аннотировано как @Column вместо @JoinColumn (javax.presistence; спящий режим), и он все ломал.

1
ответ дан jon 25 August 2018 в 03:03
поделиться

execute

show VARIABLES like "%char%”;

find character-set-server, если не utf8mb4.

установить его в my.cnf, например

vim /etc/my.cnf

добавить одну строку

character-set-server = utf8mb4

при последнем перезапуске mysql

1
ответ дан Kevin Hawk 25 August 2018 в 03:03
поделиться

У вас есть EXTRATERRESTRIAL ALIEN (U+1F47D) и BROKEN HEART (U+1F494) , которые не находятся в базовой многоязычной плоскости. Они не могут быть даже представлены в java как один символ, "

113
ответ дан Nikita Bosik 25 August 2018 в 03:03
поделиться

В общем случае для сохранения символов, требующих 4 байта, вам необходимо обновить набор characher и сортировку для utf8mb4:

  1. таблицы / столбца базы данных: alter table <some_table> convert to character set utf8mb4 collate utf8mb4_unicode_ci
  2. соединение с сервером базы данных ( см. )

В моей разработке enviromnt для # 2 Я предпочитаю устанавливать параметры в командной строке при запуске сервера: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci


btw, обратите внимание на поведение коннектора / J с SET NAMES 'utf8mb4':

Не выдавайте имена наборов запросов с помощью коннектора / J, так как драйвер не обнаружит, что набор символов изменился, и будет продолжать использовать набор символов, обнаруженный во время начальной настройки соединения.

И не следует устанавливать параметр characterEncoding в URL-адрес соединения, поскольку он переопределит настроенную серверную кодировку:

Чтобы переопределить автоматически обнаруженную кодировку на стороне клиента, используйте свойство characterEncoding в URL-адресе, используемом для подключения к серверу.

< / BLOCKQUOTE>
12
ответ дан rilaby 25 August 2018 в 03:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: