Heim  >  Artikel  >  Backend-Entwicklung  >  Lösen Sie das Problem verstümmelter chinesischer Zeichen in PHP und MySQL

Lösen Sie das Problem verstümmelter chinesischer Zeichen in PHP und MySQL

藏色散人
藏色散人Original
2020-11-05 09:59:192037Durchsuche

Lösung für verstümmelten PHP-MySQL-Code: 1. Ändern Sie das Codierungsformat in der Datenbank oder Tabelle. 2. Fügen Sie „mysqli_query(“set name utf8“);“ zur PHP-Anweisung hinzu client 'charset=utf-8');" Das ist es.

Lösen Sie das Problem verstümmelter chinesischer Zeichen in PHP und MySQL

Empfohlen: „PHP-Video-Tutorial

Probleme mit chinesischem verstümmeltem Code in PHP und MySQL

Beim Erstellen einer Datenbank mit MySQL treten manchmal Probleme mit verstümmeltem Code auf. Hier sind einige Lösungen.

Problem 1: Das Codierungsformat in der Datenbank oder Tabelle ist falsch

Verwenden Sie beim Erstellen der Datenbank den folgenden Code, um sie zu erstellen:

CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';

Beim Erstellen der Tabelle:

CREATE TABLE `table_name` (
id varchar(40) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Nach dem Festlegen dieser 3 funktioniert MySQL grundsätzlich nicht Bei der Arbeit tritt ein Problem auf, das heißt, beim Erstellen der Datenbank und der Tabelle wird dasselbe Codierungsformat verwendet.

Wenn Sie eine Datenbank erstellt haben, können Sie die folgenden Methoden verwenden:

1. Überprüfen Sie das Standardcodierungsformat:

mysql> show variables like "%char%";  
+--------------------------+---------------+  
| Variable_name | Value |  
+--------------------------+---------------+  
| character_set_client | gbk |  
 character_set_connection | gbk |  
| character_set_database | utf8 |  
 character_set_filesystem | binary |  
| character_set_results | gbk |  
| character_set_server | utf8 |  
| character_set_system | utf8 |  
+--------------------------+-------------+

Hinweis: Um die vorherigen 2 zu ermitteln, können Sie die Namen utf8 festlegen und die Namen gbk festlegen Standardkodierungsformat; über die Workbench ist es einfacher, die Kodierung der Datenbank festzulegen.

Die Auswirkung der Ausführung von SET NAMES utf8 entspricht der gleichzeitigen Einstellung von:

SET character_set_client='utf8';  
SET character_set_connection='utf8';  
SET character_set_results='utf8';

2. Überprüfen Sie das Codierungsformat der Testdatenbank:

mysql> show create database test;  
+------------+------------------------------------------------------------------------------------------------+  
| Database | Create Database |  
+------------+------------------------------------------------------------------------------------------------+  
| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ |  
+------------+------------------------------------------------------------------------------------------------+

3

mysql> show create table yjdb;  
| yjdb | CREATE TABLE `yjdb` (  
`sn` int(5) NOT NULL AUTO_INCREMENT,  
`type` varchar(10) NOT NULL,  
brc` varchar(6) NOT NULL,  
`teller` int(6) NOT NULL,  
`telname` varchar(10) NOT NULL,  
`date` int(10) NOT NULL,  
`count` int(6) NOT NULL,  
`back` int(10) NOT NULL,  
PRIMARY KEY (`sn`),  
UNIQUE KEY `sn` (`sn`),  
NIQUE KEY `sn_2` (`sn`)  
) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |

Frage 2: PHP- und MySQL-Übertragung Die Codierung ist inkompatibel

Sie müssen

mysqli_query(“set names utf8”);

MySQL-Set-Namen zur PHP-Anweisung hinzufügen, um die Ursache für verstümmelte Zeichen zu beheben:

http://blog.csdn.net/zsmj_2011/article/details/7943734

Problem 3: Client-Dekodierungsproblem:

Hinzufügen header('charset=utf-8'); das ist es

Das obige ist der detaillierte Inhalt vonLösen Sie das Problem verstümmelter chinesischer Zeichen in PHP und MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn