Heim > Backend-Entwicklung > PHP-Tutorial > Probleme mit dem TP-Framework und der PDO-Zeichenkodierung

Probleme mit dem TP-Framework und der PDO-Zeichenkodierung

WBOY
Freigeben: 2016-08-04 09:19:19
Original
1399 Leute haben es durchsucht

Wenn Sie zum Einfügen und Abfragen einen Frame verwenden, wird dieser nicht verstümmelt. Wenn Sie zum Einfügen und Abfragen einen Frame verwenden, wird das von PDO eingefügte Chinesisch nicht verstümmelt , es wird verstümmelt sein, wenn Sie die PDO-Ausgabe verwenden, um das von TP eingefügte Chinesisch zu überprüfen. Aus diesem Grund wird es verstümmelt. Wenn Sie Chinesisch direkt in das schwarze MySQL-Fenster einfügen, wird das Chinesisch nicht verstümmelt, wenn Sie PDO verwenden. Ich habe diesen Satz zu PDO hinzugefügt und er funktioniert nicht -type: text/html; charset=utf-8; ');
Ich habe die Zeichenkodierung schon einmal geändert, aber dann habe ich die Zeichenkodierung der Tabelle überprüft und herausgefunden, warum das Feld in uft8 ist Format, aber die Tabelle ist im GBK-Format? Wie können in einer solchen Situation die vom Framework und den PDO-Methoden abgefragten Chinesen nicht verstümmelt werden? Gibt es einen Zusammenhang zwischen der Kodierung eines bestimmten Feldes und der Kodierung dieser Tabelle? Welches sollte sich durchsetzen?
Dies ist die aktuelle Zeichenkodierung von MySQL
Probleme mit dem TP-Framework und der PDO-Zeichenkodierung

<code> CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `age` int(15) NOT NULL,
  `class` varchar(400) CHARACTER SET utf8 DEFAULT NULL,
  `name` varchar(12) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=390 DEFAULT CHARSET=gbk |






</code>
Nach dem Login kopieren
Nach dem Login kopieren

Antwortinhalt:

Wenn Sie zum Einfügen und Abfragen einen Frame verwenden, wird dieser nicht verstümmelt. Wenn Sie zum Einfügen und Abfragen einen Frame verwenden, wird das von PDO eingefügte Chinesisch nicht verstümmelt , wird es verstümmelt sein, wenn Sie die PDO-Ausgabe verwenden, um das von TP eingefügte Chinesisch zu überprüfen. Aus diesem Grund wird es verstümmelt. Wenn Sie Chinesisch direkt in das schwarze MySQL-Fenster einfügen, wird das Chinesisch nicht verstümmelt, wenn Sie PDO verwenden. Ich habe diesen Satz zu PDO hinzugefügt und er funktioniert nicht -type: text/html; charset=utf-8; ');
Ich habe die Zeichenkodierung schon einmal geändert, aber dann habe ich die Zeichenkodierung der Tabelle überprüft und herausgefunden, warum das Feld in uft8 ist Format, aber die Tabelle ist im GBK-Format? Wie können in einer solchen Situation die vom Framework und den PDO-Methoden abgefragten Chinesen nicht verstümmelt werden? Gibt es einen Zusammenhang zwischen der Kodierung eines bestimmten Feldes und der Kodierung dieser Tabelle? Welches sollte sich durchsetzen?
Dies ist die aktuelle Zeichenkodierung von MySQL
Probleme mit dem TP-Framework und der PDO-Zeichenkodierung

<code> CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `age` int(15) NOT NULL,
  `class` varchar(400) CHARACTER SET utf8 DEFAULT NULL,
  `name` varchar(12) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=390 DEFAULT CHARSET=gbk |






</code>
Nach dem Login kopieren
Nach dem Login kopieren

Das tp-Framework verwendet das utf8-Format, daher müssen Sie ein Problem mit dem Datenbankzeichensatz haben. Sie müssen die Datenbank auf utf8 einstellen, und die Tabelle muss auch auf utf8 eingestellt sein Code oben. Das Feld ist utf8, aber die Tabelle ist gbk. Da muss etwas falsch sein

<code> CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `age` int(15) NOT NULL,
  `class` varchar(400) CHARACTER SET utf8 DEFAULT NULL,
  `name` varchar(12) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=390 DEFAULT CHARSET=utf8 |</code>
Nach dem Login kopieren
<code>ALTER DATABASE 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci</code>
Nach dem Login kopieren

Keine Sorge, stellen Sie einfach alle an Ihrem gesamten Projekt beteiligten Codierungen auf utf8 ein und es wird keine Probleme mit verstümmeltem Code geben

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage