国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

請(qǐng)向開(kāi)發(fā)人員報(bào)告:PDO::__construct():服務(wù)器發(fā)送的字符集(255)客戶(hù)端無(wú)法識(shí)別
P粉808697471
P粉808697471 2023-10-16 10:02:44
0
2
1316

我正在嘗試從 Symfony 3 應(yīng)用程序連接到 MySQL 數(shù)據(jù)庫(kù)。但是當(dāng)嘗試從 Symfony 控制臺(tái)命令創(chuàng)建 MySQL 模式時(shí),我收到此錯(cuò)誤: PDO::__construct(): 服務(wù)器發(fā)送了客戶(hù)端未知的字符集 (255)。請(qǐng)向開(kāi)發(fā)者報(bào)告

PHP 和 MySQL 都在 Docker 容器中運(yùn)行。

MySQL版本:8.0.1

PHP版本:7.1.3

驅(qū)動(dòng)程序:pdo_mysql

字符集:UTF8

dsn: "mysql:host=mysql;dbname=database;charset=UTF8;"

有什么想法嗎?

P粉808697471
P粉808697471

全部回復(fù)(2)
P粉364642019

升級(jí)到MySQL 8.0.11后,我在使用PHP的mysqli_connect()函數(shù)時(shí)遇到了與OP相同的問(wèn)題。在我的 MySQL 目錄(在我的例子中,usr/local/mysql)中,我創(chuàng)建了 my.cnf 文件,添加了接受的答案中的內(nèi)容,然后重新啟動(dòng) MySQL服務(wù)器。然而,這產(chǎn)生了一個(gè)新的錯(cuò)誤:

mysqli_connect():服務(wù)器請(qǐng)求客戶(hù)端未知的身份驗(yàn)證方法 [caching_sha2_password]

我添加了行 default_authentication_plugin = mysql_native_password,所以 my.cnf 現(xiàn)在看起來(lái)像:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
default_authentication_plugin = mysql_native_password

我很高興可以出發(fā)了!

更多參考:https://github.com/laradock/laradock/issues/1392

請(qǐng)注意 ARA1307 的評(píng)論:

“請(qǐng)注意,您應(yīng)該創(chuàng)建新用戶(hù)并明確指定“IDENTIFIED WITH mysql_native_password”,并更改現(xiàn)有用戶(hù),例如:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

P粉884548619

MySQL 8 將默認(rèn)字符集更改為 utf8mb4。但有些客戶(hù)不知道這個(gè)字符集。因此,當(dāng)服務(wù)器向客戶(hù)端報(bào)告其默認(rèn)字符集,而客戶(hù)端不知道服務(wù)器的含義時(shí),就會(huì)拋出此錯(cuò)誤。

另請(qǐng)參閱https://bugs.mysql.com/bug.php?id= 71606

該錯(cuò)誤是針對(duì) MySQL Connector/C++ 的,因此它影響的不僅僅是 PHP。

正確的解決方案是升級(jí)客戶(hù)端,但與此同時(shí),我通過(guò)將服務(wù)器的字符集更改為 utf8 來(lái)使其正常工作,以與未升級(jí)的客戶(hù)端兼容。我將其添加到 /etc/my.cnf 并重新啟動(dòng) mysqld:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8

我在 2010 年的答案中找到了這些設(shè)置:將 my.cnf 中的 MySQL 默認(rèn)字符集更改為 UTF-8?

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板