Heim Datenbank MySQL-Tutorial MySQL的中文UTF8乱码问题_MySQL

MySQL的中文UTF8乱码问题_MySQL

Jun 01, 2016 pm 01:20 PM
中文 程序 网页

bitsCN.com

从MySQL支持Unicode后,为了与时俱进,我们的web程序也开始考虑用UTF8了。其实UTF8也用了好几年了,程序基本能跑,没什么大问题,但是数据倒换的时候,总是遇到不爽的事情。

【问题现象】

网页xxx.php用EditPlus另存为UTF8格式,MySQL在my.ini里设置default-character-set=utf8,建表时加了CREATE TABLE `xxx ` (myname varchar(255)) ENGINE=MyISAM DEFAULT CHARSET=utf8,用xxx.php执行insert/update/select出来的都是中文,貌似没问题,但是用phpMyAdmin看select是乱码,用第三方工具软件(如SQLyog)看select也是乱码,mysqldump也是乱码,很不爽。当然,如果你建表的时候,选择了binary/varbinary/blob类型,不会发现乱码,因为指定的是二进制保存,MySQL保存数据时就没有编码的概念了。

【查找问题】

虽然在my.ini里设置default-character-set=utf8,但是执行以下命令时有新发现:

mysql> SHOW VARIABLES LIKE 'character%';

+----------------------------------------+-------------------------

| Variable_name            | Value

+----------------------------------------+-------------------------

| character_set_client       | latin1

| character_set_connection   | latin1

| character_set_database    | utf8

| character_set_filesystem    | binary

| character_set_results       | latin1

| character_set_server       | utf8

| character_set_system      | utf8

| character_sets_dir         | D:/mysql/share/charsets/

+----------------------------------------+-------------------------

8 rows in set (0.00 sec)

 

mysql> SHOW VARIABLES LIKE 'collation_%';

+---------------------------------------+------------------

| Variable_name           | Value           

+---------------------------------------+------------------

| collation_connection     | latin1_swedish_ci

| collation_database       | utf8_general_ci 

| collation_server         | utf8_general_ci 

+--------------------------------------+------------------

3 rows in set (0.00 sec)

发现Value列里面不全是utf8,仍然有部分是latin1,比如其中的client和connection。那网页xxx.php的工作过程就是这样的啦:从xxx.php页面上输入汉字,因为xxx.php是UTF8编码的,所以xxx.php以UTF8格式转换输入的汉字,然后以UTF8提交给mysql,但是mysql的client和connection都是latin1的,而表是UTF8的,所以mysql存储时,先将xxx.php提交的汉字,转成latin1的格式,再转成UTF8字符格式存在表中。如果此时我们用第三方软件或者phpMyAdmin去select查看此表,而表中存储的数据是被latin1过的UTF8字符,出来的时候是以UTF8格式取的,当然看起来时乱码了。解决方法就是让所有过程都是UTF8的就可以了。

【解决问题】

1、从my.ini下手

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

default-character-set=utf8

以上3个section都要加default-character-set=utf8,平时我们可能只加了mysqld一项。

然后重启mysql,执行

mysql> SHOW VARIABLES LIKE 'character%';

mysql> SHOW VARIABLES LIKE 'collation_%';

确保所有的Value项都是utf8即可。

2、建表时加utf8,表字段的Collation可加可不加,不加时默认是utf8_general_ci了。

CREATE TABLE `tablename4` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`varchar1` varchar(255) DEFAULT NULL,

`varbinary1` varbinary(255) DEFAULT NULL,

PRIMARY KEY (`id`)

)  ENGINE=MyISAM  DEFAULT CHARSET=utf8

 

3、网页xxx.php保存时选择utf8编码,页头最好加上

header('conten-type:text/html;charset=utf-8');

在执行CRUD操作前先执行一下

mysql_query("set names utf8");

测试代码xxx.php如下:

header('conten-type:text/html;charset=utf-8');

mysql_connect("localhost", "root", "password") or die("Could not connect: " . mysql_error());

mysql_select_db("test");

mysql_query("set names utf8");

$str = "CHN 软件开发有限公司,JPN ソフトウェア

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So machen Sie Google Maps zur Standardkarte im iPhone So machen Sie Google Maps zur Standardkarte im iPhone Apr 17, 2024 pm 07:34 PM

Die Standardkarte auf dem iPhone ist Maps, Apples proprietärer Geolokalisierungsanbieter. Obwohl die Karte immer besser wird, funktioniert sie außerhalb der Vereinigten Staaten nicht gut. Im Vergleich zu Google Maps hat es nichts zu bieten. In diesem Artikel besprechen wir die möglichen Schritte, um Google Maps als Standardkarte auf Ihrem iPhone zu nutzen. So machen Sie Google Maps zur Standardkarte auf dem iPhone. Das Festlegen von Google Maps als Standardkarten-App auf Ihrem Telefon ist einfacher als Sie denken. Befolgen Sie die nachstehenden Schritte – Erforderliche Schritte – Sie müssen Gmail auf Ihrem Telefon installiert haben. Schritt 1 – Öffnen Sie den AppStore. Schritt 2 – Suchen Sie nach „Gmail“. Schritt 3 – Klicken Sie auf neben der Gmail-App

Wie sende ich Webseiten als Verknüpfung im Edge-Browser an den Desktop? Wie sende ich Webseiten als Verknüpfung im Edge-Browser an den Desktop? Mar 14, 2024 pm 05:22 PM

Wie sende ich Webseiten als Verknüpfung im Edge-Browser an den Desktop? Viele unserer Benutzer möchten häufig verwendete Webseiten als Verknüpfungen auf dem Desktop anzeigen, um Zugriffsseiten bequemer öffnen zu können, wissen jedoch nicht, wie das geht. Als Reaktion auf dieses Problem wird der Herausgeber dieser Ausgabe dies mitteilen Werfen wir einen Blick auf den Inhalt des heutigen Software-Tutorials. Die Verknüpfungsmethode zum Senden von Webseiten an den Desktop im Edge-Browser: 1. Öffnen Sie die Software und klicken Sie auf der Seite auf die Schaltfläche „…“. 2. Wählen Sie in der Dropdown-Menüoption „Diese Site als Anwendung installieren“ unter „Anwendung“ aus. 3. Klicken Sie abschließend im Popup-Fenster darauf

So stellen Sie Chinesisch im Handyspiel Call of Duty: Warzone ein So stellen Sie Chinesisch im Handyspiel Call of Duty: Warzone ein Mar 22, 2024 am 08:41 AM

Call of Duty Warzone ist ein neu eingeführtes Handyspiel. Viele Spieler sind sehr neugierig, wie sie die Sprache dieses Spiels auf Chinesisch einstellen können. Tatsächlich ist es sehr einfach, das chinesische Sprachpaket herunterzuladen Den detaillierten Inhalt erfahren Sie in dieser Einführung in die chinesische Einstellungsmethode. So stellen Sie die chinesische Sprache für das Handyspiel Call of Duty: Warzone ein 1. Rufen Sie zunächst das Spiel auf und klicken Sie auf das Einstellungssymbol in der oberen rechten Ecke der Benutzeroberfläche. 2. Suchen Sie in der angezeigten Menüleiste die Option [Herunterladen] und klicken Sie darauf. 3. Wählen Sie auf dieser Seite [SIMPLIFIEDCHINESE] (vereinfachtes Chinesisch), um das Installationspaket für vereinfachtes Chinesisch herunterzuladen. 4. Kehren Sie zu den Einstellungen zurück

Einrichten von Chinesisch mit VSCode: Die vollständige Anleitung Einrichten von Chinesisch mit VSCode: Die vollständige Anleitung Mar 25, 2024 am 11:18 AM

VSCode-Setup auf Chinesisch: Eine vollständige Anleitung In der Softwareentwicklung ist Visual Studio Code (kurz VSCode) eine häufig verwendete integrierte Entwicklungsumgebung. Für Entwickler, die Chinesisch verwenden, kann die Einstellung von VSCode auf die chinesische Schnittstelle die Arbeitseffizienz verbessern. In diesem Artikel erhalten Sie eine vollständige Anleitung, die detailliert beschreibt, wie Sie VSCode auf eine chinesische Schnittstelle einstellen, und spezifische Codebeispiele bereitstellt. Schritt 1: Laden Sie das Sprachpaket herunter und installieren Sie es. Klicken Sie nach dem Öffnen von VSCode auf links

So stellen Sie chinesische Schriftzeichen in PHP Dompdf korrekt dar So stellen Sie chinesische Schriftzeichen in PHP Dompdf korrekt dar Mar 05, 2024 pm 01:03 PM

So zeigen Sie chinesische Schriftzeichen in PHPDompdf korrekt an. Wenn Sie PHPDompdf zum Generieren von PDF-Dateien verwenden, besteht häufig die Herausforderung, dass das Problem verstümmelter chinesischer Schriftzeichen auftritt. Dies liegt daran, dass die von Dompdf standardmäßig verwendete Schriftartenbibliothek keine chinesischen Zeichensätze enthält. Um chinesische Schriftzeichen korrekt anzuzeigen, müssen wir die Schriftart von Dompdf manuell festlegen und sicherstellen, dass eine Schriftart ausgewählt wird, die chinesische Schriftzeichen unterstützt. Hier sind einige spezifische Schritte und Codebeispiele, um dieses Problem zu lösen: Schritt 1: Laden Sie die chinesische Schriftartdatei herunter. Zuerst benötigen wir

Wie stelle ich eine Excel-Tabelle so ein, dass Chinesisch angezeigt wird? Tutorial zum Wechseln der chinesischen Bedienung in Excel Wie stelle ich eine Excel-Tabelle so ein, dass Chinesisch angezeigt wird? Tutorial zum Wechseln der chinesischen Bedienung in Excel Mar 14, 2024 pm 03:28 PM

Excel-Tabelle ist eine der Office-Software, die viele Benutzer verwenden, da ihr Computer ein Win11-System ist und daher die englische Benutzeroberfläche angezeigt wird. Sie möchten auf die chinesische Benutzeroberfläche umsteigen, wissen aber nicht, wie man sie bedient Um dieses Problem zu lösen, ist der Herausgeber hier, um die Fragen aller Benutzer zu beantworten. Werfen wir einen Blick auf den Inhalt des heutigen Software-Tutorials. Anleitung zum Umstellen von Excel auf Chinesisch: 1. Rufen Sie die Software auf und klicken Sie links in der Symbolleiste oben auf der Seite auf die Option „Datei“. 2. Wählen Sie „Optionen“ aus den unten aufgeführten Optionen. 3. Nachdem Sie die neue Benutzeroberfläche aufgerufen haben, klicken Sie links auf die Option „Sprache“.

Uhr-App fehlt im iPhone: So beheben Sie das Problem Uhr-App fehlt im iPhone: So beheben Sie das Problem May 03, 2024 pm 09:19 PM

Fehlt die Uhr-App auf Ihrem Telefon? Datum und Uhrzeit werden weiterhin in der Statusleiste Ihres iPhones angezeigt. Ohne die Uhr-App können Sie jedoch die Weltzeituhr, die Stoppuhr, den Wecker und viele andere Funktionen nicht nutzen. Daher sollte die Reparatur der fehlenden Uhr-App ganz oben auf Ihrer To-Do-Liste stehen. Diese Lösungen können Ihnen bei der Lösung dieses Problems helfen. Lösung 1 – Platzieren Sie die Uhr-App. Wenn Sie versehentlich die Uhr-App von Ihrem Startbildschirm entfernt haben, können Sie die Uhr-App wieder an ihrem Platz platzieren. Schritt 1 – Entsperren Sie Ihr iPhone und wischen Sie nach links, bis Sie zur Seite „App-Bibliothek“ gelangen. Schritt 2 – Suchen Sie als Nächstes im Suchfeld nach „Uhr“. Schritt 3 – Wenn Sie unten in den Suchergebnissen „Uhr“ sehen, halten Sie die Taste und gedrückt

Eine effektive Möglichkeit, verstümmelte chinesische Zeichen in PHP Dompdf zu korrigieren Eine effektive Möglichkeit, verstümmelte chinesische Zeichen in PHP Dompdf zu korrigieren Mar 05, 2024 pm 04:45 PM

Titel: Eine effektive Möglichkeit, verstümmelte chinesische Zeichen in PHPDompdf zu reparieren. Bei der Verwendung von PHPDompdf zum Generieren von PDF-Dokumenten sind verstümmelte chinesische Zeichen ein häufiges Problem. Dieses Problem ist in der Regel darauf zurückzuführen, dass Dompdf standardmäßig keine chinesischen Zeichensätze unterstützt, was dazu führt, dass chinesische Inhalte nicht korrekt angezeigt werden. Um dieses Problem zu lösen, müssen wir einige effektive Wege finden, um das chinesische verstümmelte Problem von PHPDompdf zu beheben. 1. Verwenden Sie benutzerdefinierte Schriftartdateien, um das Problem verstümmelter chinesischer Zeichen in Dompdf zu lösen

See all articles