MyISAM utf-8编码问题
在存储特殊字符时遇到一些问题后,我将数据库从 latin1_swedish_ci 转换为 utf8_unicode_ci 排序规则。 我已将数据库、表和列的字符集设置为 utf8,将排序规则设置为 utf8_unicode_ci。
只有 InnoDB 表可以正确存储 utf-8 数据,而 MyISAM 表则不能。例如,ü 变为 ⁄。
这里可能发生了什么?我错过了什么吗?
MySQL 版本 5.0.77
I converted a database from latin1_swedish_ci to utf8_unicode_ci collation after havind some trouble storing special characters.
I've set the character set of the database, tables and columns to utf8 and the collation to utf8_unicode_ci.
Only the InnoDB tables store the utf-8 data correctly, and the MyISAM tables don't. ü becomes ü for example.
What could be going on here? Am I missing something?
MySQL version 5.0.77
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用框架(比如说 Rails),您必须确保与数据库的连接使用正确的编码。在Rails中,它将被定义为database.yml文件中的一个参数,编码为:utf8
In the event that you are using a framework (let's say Rails) you must ensure that the connection to the database is using the proper encoding. In Rails it would be defined as an argument in your database.yml file with
encoding: utf8
在新表 InnoDB 上使用
use on new table InnoDB