【发布时间】:2020-11-08 23:34:28
【问题描述】:
由于某种原因,在我的 Chrome 浏览器上通过以下链接打开 SamplePage.php 时,我无法在 sample 数据库上创建 employeeTable:
http://ec2-13-57-28-240.us-west-1.compute.amazonaws.com/SamplePage.php
我能够通过以下链接从 AWS 创建 EC2 实例并安装 Web 服务器教程:
我收到以下错误:
无法连接到 MySQL:服务器向客户端发送未知字符集。 请向开发人员报告。
根据我的阅读,AWS Linux AMI 映像默认具有 UTF-8 字符集,连接到我的 MySQL 数据库实例后,我在我的 EC2 实例上运行此命令得到输出:
SHOW VARIABLES LIKE 'char%';
Variable_name | Value
|+--------------------------+-------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /rdsdbbin/mysql-8.0.17.R1/share/charsets/ |
我还将我的 Putty /.bash_profile 设置为使用 UTF-8 字符集,方法是将配置输入为:
export LC_CTYPE="en_US.UTF-8"
我不知道发生了什么,我相信,我遵循了有关如何创建数据库实例并从此链接链接到 EC2 实例的完整教程:
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/TUT_WebAppWithRDS.html
【问题讨论】:
-
各种组件(客户端、服务器等)的版本是什么?您最近是否更改过云服务?
-
我的客户端是 Windows 10。AWS EC2 实例是 Linux AMI 版本 1,数据库实例是 MySQL 8.0.17。这是我对任何云服务的第一次体验。
-
我注意到 character_set_client、character_set_connection、charcter_set_results 和 character_set_system 是 utf8,而 character_set_database 和 character_set_server 是 utf8mb4。不知道这样有没有影响?
-
我找到了一篇文章:dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb3.html>可能有用,但是我没有足够的经验来解释它,对不起。
-
除非你特别需要“utf8mb3”,否则你应该使用“utf8mb4”。