无法连接到 MySQL:服务器向客户端发送了未知的字符集。

由于某种原因,当我通过以下链接在 Chrome 浏览器上打开 时,无法在数据库employeeTable上创建 :sampleSamplePage.php

我能够通过以下链接上的 AWS 创建 EC2 实例并安装 Web 服务器教程创建我的 EC2 实例:

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateWebServer.html

我收到以下错误:

无法连接到 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/ |

/.bash_profile我还通过输入以下配置将 Putty 设置为使用 UTF-8 字符集:


export LC_CTYPE="en_US.UTF-8"

我不确定发生了什么,我相信,我遵循了有关如何创建数据库实例并从此链接链接到 EC2 实例的完整教程:


https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/TUT_WebAppWithRDS.html


长风秋雁
浏览 203回答 4
4回答

缥缈止盈

我通过删除 php56 并安装 php72 解决了这个问题。以下是命令sudo yum -y remove php*sudo yum install php72sudo yum install php72-mysqlndsudo apachectl restart

30秒到达战场

事实证明,更改字符集并确保数据库中的字符集设置正确的所有这些工作只是对另一个问题的依赖,即扩展mysqli未正确安装和启用。我还将 php 版本升级到 7.2,这也可能解决了问题,但我不完全确定。也许有人可以根据我所做的事情来验证修复的内容是什么?

慕标5832272

这取决于。如果您还没有在表格中添加任何文本,那么:ALTER TABLE t CONVERT TO CHARACTER SET utf8mb4;如果表中有数据,大约有 3 种不同的方法可以更改字符集。

HUWWW

要解决此问题,请删除 PHP 7.4 并替换为 7.2sudo yum -y remove php*sudo amazon-linux-extras disable php7.4sudo amazon-linux-extras enable php7.2yum clean metadatasudo yum install php php-{pear,cgi,common,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}php -vsudo apachectl restart
打开App,查看更多内容
随时随地看视频慕课网APP