У меня есть веб-приложение с ruby на рельсах.С:Рубин: рубин 1.9.2p290Рельсы: рельсы (3.0.7)База данных: SQL Server 2008 R2Я проверил это на своем местном языке с помощью ввода китайского традиционного символа в поле ввода / ввода текста и создания данных.работает нормальноДанные: 長壽Результат в таблице SQL Server, который использует varchar (255) SQL_Latin1_General_CP1_CI_AS
: 長壽
При этом я также могу просматривать текст в пользовательском интерфейсе.Но когда я дал приложение, рубиновый драгоценный камень и предпочтения своим друзьям, они не могли ввести традиционный китайский символ.он сказал, "incompatible character encodings: ASCII-8BIT and UTF-8
", когда нажмите кнопку Сохранить.Даже если я восстановлю в них свою базу данных, веб-приложение не сможет правильно отобразить значение, которое оно говорит "invalid byte sequence in UTF-8
".Хотя они также используют те же настройки, что и мои, такие как SQL Server, версия ruby и путь.Разница только в том, что я использую английскую версию Windows 10, а мои друзья - в китайском языке Windows 10.
У меня есть попытка:1. config.encoding = "utf-8"
уже находится в файле application.rb.2. положить # encoding: utf-8
поверх модели и контроллера3. Над строкой Rails.application.initialize!
в файле environment.rb
добавьте следующие две строки:- Encoding.default_external = Encoding::UTF_8
- Encoding.default_internal = Encoding::UTF_8
4. Я также попытался ввести encoding: utf8
в database.yml
, данные могут быть сохранены, но это стало вопросительным знаком ??в таблице базы данных, и когда я хочу просмотреть его, он также сказал «недопустимая последовательность байтов в UTF-8».
Любая дополнительная информация, я могу дать вам, если это необходимо.:)