Ruby on Rails
Monday, January 5, 2015
Thanks for the insight, but I think the issue is at the rails level. Since when I tried inserting the same values in the mysql db directly, it worked without any errors. It might be because the character that I am trying to insert is not UTF8. But rails is enforcing that encoding. What would be the encoding change required to be done at rails level?
-- Also, I have a system where I would need to scale things later. So, I would have to change the encoding of a particular table every time I have to create a new instance. Is there any way to deal with that?
On Monday, January 5, 2015 11:43:31 PM UTC+5:30, Hassan Schroeder wrote:
On Monday, January 5, 2015 11:43:31 PM UTC+5:30, Hassan Schroeder wrote:
On Mon, Jan 5, 2015 at 10:00 AM, Kriti Aggarwal <krit...@gmail.com> wrote:
> Following are the encodings/collations and versions that I am using:
> Rails : utf8, 4.0
> Mysql: latin_general_ci, 14.14 Distrib 5.5.40
Well, it should be pretty obvious you have a mismatch there, which is
a problem. But there's not just one encoding-related variable. Example:
mysql> show variables like '%char%';
+--------------------------+-------------------------------- ------------------------+
| Variable_name | Value
|
+--------------------------+-------------------------------- ------------------------+
| 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/mysql-5.6.13-osx10.7-x86_64/share/charsets/ |
+--------------------------+-------------------------------- ------------------------+
8 rows in set (0.00 sec)
mysql> show variables like '%coll%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.01 sec)
You want, at the least, all of those consistent. If you need the 4-byte
character capability, then set them appropriately.
Note: you'll need to manually alter (or drop and recreate) existing
databases/tables afterwards.
HTH,
--
Hassan Schroeder ------------------------ hassan.s...@gmail.com
http://about.me/hassanschroeder
twitter: @hassan
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/1646bb47-2dc1-4306-8112-c663e008b0e8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment