1
Mongoidモデルに保存されているUnicode(アラビア語)のテキストデータがいくつかあるので、mysqlデータベースに挿入します。私はgsubを使ってシングル引用符をエスケープしなければならなかったので、SQL挿入エラーが発生しました。私はphpMyAdminのでデータを表示するときRuby mysql gem mysqlデータベースにUnicode文字列を挿入する
text = model.text.squish().gsub("'", %q(\\\'))
db_con.query("insert into table (text) values ('#{text}')")
は今私の問題は、この私が見るもの
اÙ「ÙŠÙÙ... ..Ù... U「اييناÙ「U‡ですÙØ§ØªÙØªÙØ¯Ø¹ "ÙØ§ØªØ³Ø§Ø¨" Ù「U「Ø£OO
私はforce_encoding('UTF-8')
を追加しようとしたが、それは何も変更していない、私はまた、str.dump
で脱出しようとしたが、データをUnicodeに変換したphpmyadminで表示されたu {243}のようなコードポイント。どのようにこれを修正することができます。
すべてのエンコーディングは、あなたがにデータを入れ_before_同意していることを確認してください。あなたは、非Unicodeのデフォルトの文字セットを使用する場合は、ユニコードデータを挿入すると、mysqlはユニコードとなり、同じバイトを格納しますが、ユニコードには変換されません。 –
データベース構造では、照合順序は "utf8_general_ci"です。 – user2968505
照合順序はアルファベット順です。デフォルトの_charset_は何ですか?より正確に言えば、あなたのユニコードデータが挿入された文字セットは何ですか? –