Heim >Backend-Entwicklung >PHP-Tutorial >thinkphp meldet einen Fehler beim Ausführen von „set name utf8mb4'
Laufumgebung: sae thinkphp
DB_CHARSET ist utf8; (Setzen Sie es direkt auf utf8mb4 und es wird ein Fehler gemeldet, ich weiß nicht warum...)
Wenn Sie Emoji-Ausdrücke unterstützen möchten, führen Sie den Test durch Der Code lautet wie folgt
public function test( ){
<code> $model = M(''); $model -> query('set names utf8mb4'); }</code>
Fehlermeldung: [SQL-Anweisung]: Namen utf8mb4 festlegen.
Bitte geben Sie mir eine Anleitung, danke!
Laufumgebung: sae thinkphp
DB_CHARSET ist utf8; (Setzen Sie es direkt auf utf8mb4 und es wird ein Fehler gemeldet, ich weiß nicht warum...)
Wenn Sie Emoji-Ausdrücke unterstützen möchten, führen Sie den Test durch Der Code lautet wie folgt
public function test( ){
<code> $model = M(''); $model -> query('set names utf8mb4'); }</code>
Fehlermeldung: [SQL-Anweisung]: Namen utf8mb4 festlegen.
Bitte geben Sie mir eine Anleitung, danke!
<code>select version(); 看下数据库版本,5.5以上才支持utf8mb4 </code>
Mysql::utf8mb4
1. Überprüfen Sie die Version von MySQL;
Für Versionen nach MySQL 5.5.3 wird der Zeichensatz utf8mb4 hinzugefügt. Bei früheren Versionen muss der MySQL-Server aktualisiert werden.
2. MySQL utf8mb4-Zeichensatz
Ändern Sie /etc/my.cnf
[Client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
Starten Sie MySQL Server neu und überprüfen Sie den Zeichensatz