如何配置Amazon RDS以正确的方式存储中文字符?目前,文本都变成了“?”。
我已经创建了新的参数组,将字符集设置为utf8,并修改了实例。以下是详细信息:
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 | /rdsdbbin/mysql-5.5.27.R1/share/charsets/ |
+--------------------------+-------------------------------------------+
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+发布于 2013-08-18 23:33:39
在遵循@Peter Venderberghe的答案配置RDS后,我仍然不能让它正确地存储中文字符。
最后,我使用mysql命令行连接到RDS (您可以使用mysql workbench或其他您喜欢的客户端工具)。
mysql -u用户名-pPASSWORD -h主机名或-h数据库名
注意:
1)。在连接到RDS之前,请记住将您的 添加到RDS的安全组入站
2)。除了PASSWORD,您还可以在RDS console上获取相关信息(安全组、USERNAME...etc)。PASSWORD应该是您为实例创建的那个。HOSTNAMEORIP是控制台上的“端点”(不带端口)。
3)。-p和PASSWORD之间没有空格。这就是-pPASSWORD。
使用您熟悉的工具连接到mysql后,您需要给它一些命令:
# set character set and collation for database
mysql> alter database DATABASENAME CHARACTER SET utf8 COLLATE utf8_unicode_ci;
--------
# set character set and collation for new records in a table
mysql> ALTER TABLE TABLENAME CHARACTER SET utf8 COLLATE utf8_unicode_ci;
# set character set and collation for existing records in a table
mysql> ALTER TABLE TABLENAME CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci; 如果您有许多表,则可能需要编写一个脚本来执行此任务。但是,这不在本答案的范围内。
经过上面的配置,你应该能够用中文摇滚乐了!
发布于 2014-04-08 22:26:17
如果您使用的是RDS,可以为您的mysql实例设置参数组。
完成了!这应该很简单。等你到了那里你就会明白了。
发布于 2013-06-06 13:02:34
确保您使用的是UTF-8字符集。
永久设置字符集的最简单方法是使用以下内容更新客户端my.cnf:
[client]
default-character-set=utf8有关连接字符集的详细信息,可在此处找到:http://dev.mysql.com/doc/refman/5.5/en/charset-connection.html
当使用PHP函数时(例如MySQL客户端)您可以通过发送查询来设置连接字符集
SET NAMES utf8您可以通过以下博客将Amazon RDS配置为使用Utf-8字符集:http://matthew.mceachen.us/blog/howto-configure-an-amazon-rds-instance-to-use-utf-8-925.html
我希望这能帮到你。
https://stackoverflow.com/questions/16953232
复制相似问题