Mam aplikację szyn. Czasami, gdy użytkownik pisze w polu tekstowym i wykonywane jest zapytanie, aby zaktualizować to pole w bazie danych MySQL, otrzymuję ten dziennik błędów:Mysql2 :: Błąd: Niepoprawna wartość ciągu: ' xE2 x80 xA8 x09
AKTUALIZACJE łodzi SET opis = 'Vive la experiencia única de navegar abordo de un clásico de madera de lujo como Mako. Te emocionará ', updated_at = '10.03.2015 20:10:32' WHERE boats.id = 1
E, [2015-03-10T20:10:32.223430 #20343] ERROR -- : Mysql2::Error: Incorrect string value: '\xE2\x80\xA8\x09Te...' for column 'description' at row 1: UPDATE boats SET description = 'Vive la experiencia única de navegar abordo de un clásico de madera de lujo como Mako.
Te emocionará.', updated_at = '2015-03-10 20:10:32' WHERE boats.id = 1
. UWAGA: Niestety, nie jestem w stanie umieścić powyższy kod w kodzie. Musi być specjalna postać.
Chciałbym, aby użytkownik mógł dodać dowolny znak bez błędów.
Posiadam środowisko programistyczne i produkcyjne. Błąd występuje tylko w produkcji.
Widziałem ten post, który wygląda ten sam problem jak ja: Mysql2::Error: Incorrect string value
uruchomić tę kwerendę show variables like 'char%';
sprawdzić config znaków bazy danych i: Development:
'character_set_client', 'utf8'
'character_set_connection', 'utf8'
'character_set_database', 'utf8'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8'
'character_set_server', 'utf8'
'character_set_system', 'utf8'
'character_sets_dir', '/usr/local/Cellar/mysql/5.6.19/share/mysql/charsets/'
Produkcja:
'character_set_client', 'utf8'
'character_set_connection', 'utf8'
'character_set_database', 'latin1'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8'
'character_set_server', 'latin1'
'character_set_system', 'utf8'
'character_sets_dir', '/usr/share/mysql/charsets/'
Wykonałem więc ALTER DATABASE yanpyprod CHARACTER SET utf8 COLLATE utf8_general_ci;
, aby zaktualizować zestaw znaków do pliku utf8.
Jednak po zmianie ustawienia charectera na utf8 nadal otrzymuję ten sam błąd.
Dziękuję, pracowałeś jak czar. – iFadi
Uratowałem mój tyłek, dzięki – Oussaki