相关疑难解决方法(0)

在my.cnf中将MySQL默认字符集更改为UTF-8?

目前我们在PHP中使用以下命令在我们的应用程序中将字符集设置为UTF-8.

由于这有点开销,我们想将其设置为MySQL中的默认设置.我们可以在/etc/my.cnf或其他地方这样做吗?

SET NAMES 'utf8'
SET CHARACTER SET utf8
Run Code Online (Sandbox Code Playgroud)

我在/etc/my.cnf中找了一个默认的字符集,但是没有关于字符集的内容.

此时,我执行以下操作将MySQL字符集和校对变量设置为UTF-8:

skip-character-set-client-handshake
character_set_client=utf8
character_set_server=utf8
Run Code Online (Sandbox Code Playgroud)

这是处理这个问题的正确方法吗?

mysql character-encoding

328
推荐指数
12
解决办法
45万
查看次数

WordPress错误建立MySQL数据库连接IIS10

我正在尝试在我的本地Windows 10机器上使用MySQL设置WordPress.我收到这个错误:

建立数据库连接时出错这可能意味着wp-config.php文件中的用户名和密码信息不正确,或者我们无法联系localhost:3307上的数据库服务器.这可能意味着主机的数据库服务器已关闭.

我已经在这里检查:在wordpress上建立数据库连接时出错

  1. 您确定拥有正确的用户名和密码吗?
    是的,我可以使用root凭据登录到SQL Server Workbench ,这样就可以了
  2. 您确定已键入正确的主机名吗?
    这就是我在下面尝试的
  3. 您确定数据库服务器正在运行吗?
    是的,在MySQL工作台中检查并且它正在运行

我运行了这个查询select @@hostname,它给了我:DESKTOP-CFT2ESY

我尝试添加到wp-config.php(不是所有的同时):

define('DB_HOST', 'localhost:3307');
define('DB_HOST', 'localhost:8899');
define('DB_HOST', 'localhost');
define('DB_HOST', 'DESKTOP-CFT2ESY');
define('DB_HOST', '127.0.0.1');

这些都不起作用,只是更改了上面错误消息中的主机名字符串.

然后我补充说:
define('WP_ALLOW_REPAIR', true);
define('DB_CHARSET', 'utf8');

但这根本不会改变错误信息.

更新1

我跑了SHOW GLOBAL VARIABLES LIKE 'PORT';,我的服务器在端口3306上运行.在WorkBench中,我看到我的数据库已启动并正在运行.我还在root我的数据库模式中添加了用户的所有权限.我的用户Limit to hosts matching设置为localhost.

更新2

然后我运行了我在这里找到的PHP代码(我只是将root用户的密码更改为root用户的密码):

<?php

$host="localhost"; 

$root="root"; 
$root_password="rootpass"; 

$user='newuser';
$pass='newpass';
$db="newdb"; 

    try {
        $dbh = new PDO("mysql:host=$host", $root, $root_password);

        $dbh->exec("CREATE DATABASE `$db`;
                CREATE USER …
Run Code Online (Sandbox Code Playgroud)

php mysql wordpress iis-10 mysql-8.0

9
推荐指数
1
解决办法
716
查看次数

“服务器向客户端发送了未知的字符集(255)”是否将MySQL字符集设置为utf8 w / o /etc/my.cnf?

我正在尝试从phpMyAdmin连接到MySQL数据库。但是当我输入用户名和密码时,我收到两条错误消息:

mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers

mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers
Run Code Online (Sandbox Code Playgroud)

我正在使用MySQL 8.0.11和phpMyAdmin 4.8.2

我找到了类似问题的答案: PDO :: __ construct():服务器向客户端发送了未知的字符集(255)。请向开发商报告

这是重要的部分:“ MySQL 8将默认字符集更改为utfmb4。但是某些客户端不知道该字符集。因此,当服务器向客户端报告其默认字符集,并且客户端不知道服务器的含义时,它会引发此错误。”

给出的解决方案是通过在/etc/my.cnf中添加几行,将默认字符集更改回utf8,然后重新启动mysqld。

我的问题是/etc/my.cnf在我的文件中不存在,因此我无法在其中更改默认字符集。我看过的所有其他地方最终都引用了/my.cnf或引用了旧版本。

那么,如何在没有用于MySQL 8的/etc/my.cnf的情况下将默认字符集更改为utf8?

php mysql pdo utf-8

5
推荐指数
2
解决办法
7623
查看次数

SQLSTATE[HY000] [2054] 服务器向客户端发送了未知的字符集。请向开发商举报

我正在尝试在 laravel 中创建一个登录系统。我已经更新了环境。文件包含一个名为 kokodb 的数据库。但是,当我在 cmd 中运行此代码“ php artisan migrate ”时,出现以下错误:

在 Connection.php 第 647 行:

SQLSTATE[HY000] [2054] 服务器向客户端发送了未知的字符集。请向开发人员报告(SQL:select * from information_schema.tables where table_schema = kokodb and table_name = migrations)

在 Connector.php 第 68 行:

SQLSTATE[HY000] [2054] 服务器向客户端发送了未知的字符集。请向开发商举报

在 Connector.php 第 68 行:

PDO::__construct():服务器向客户端发送了未知的字符集 (255)。请向开发商举报

你能帮我么。我在其他地方没有找到解决这个问题的方法。

php authentication system migrate laravel

3
推荐指数
1
解决办法
3万
查看次数

Database_Exception [2]:mysqli_connect():服务器向客户端发送了未知的字符集(255)。请向开发商报告

安装在本地计算机Docker和Kohana框架上。

我无法建立与数据库的连接。

发生错误:

Database_Exception [ 2 ]: mysqli_connect(): Server sent charset (255) unknown to the client. Please, report to the developers
Run Code Online (Sandbox Code Playgroud)

没事吗 datebase.php

return array
Run Code Online (Sandbox Code Playgroud)

('default'=> array('type'=>'MySQLi','connection'=> array('hostname'=>'mysql','database'=>'media','username'=>'root' ,'password'=>'root','persistent'=> FALSE,),'table_prefix'=>'','charset'=>'utf8mb4','caching'=> FALSE,

如何解决这个问题呢? 在此处输入图片说明

php mysql mysqli kohana

0
推荐指数
1
解决办法
4585
查看次数