2016-10-28 4 views
0

Я получаю некоторые странные символы, когда я вставляю данные в свою базу данных MySQL.Weird символов в MySQL

Таблица настроена на использование UTF8_bin. Символы подобны

Landon?ÇÖs 

? ЦО должна быть '.

Я передаю все строки для таблицы MySQL из сценария следующим образом:

insert = ("INSERT INTO #{event.split(" : ")[0]} (`Date`, `Start`, `End`, `Location`, `Details`, `Map`) VALUES (#{event.split(" : ")[1]});").to_s 
client = Mysql2::Client.new(:host => "hostInfo", :username => "usName", :password =>"usPass", :database => "dbName") 
client.query(insert) 
client.close 

Также я использую mysql2 камень для подключения и передачи информации в базу данных.

Я сделал кое-что, и я получил консоль, чтобы дать мне этот результат, пытаясь заменить специальный символ другим символом. Вот сообщение об ошибке, что консоль выводит несовместимые кодировки символов: IBM437 и UTF-8
(Encoding :: CompatibilityError)

+0

стол может быть utf8. как насчет соединения ruby-> db? как насчет среды вывода ruby->? не помогает иметь текст utf8, если вы выгрузите его в (например) систему отображения iso8859. –

+0

Marc, соединение db настроено только с кодировкой по умолчанию. Im не на 100% уверен, что такое кодировка вывода, но информация, которая обрабатывается, не отображается, чтобы пользователь мог видеть ее на стороне консоли. –

+1

, чтобы символы отображались в самой таблице? убедитесь, что все, что вставляло данные изначально, тоже правильно. целая цепочка обработки должна поддерживать одну и ту же кодировку на всем протяжении или иметь соответствующую логику преобразования на «границах». –

ответ

0

Это проблема кодирования MySql. Измените кодировку таблицы на utf8_general_ci.

Смежные вопросы