MySQL的中文UTF8乱码问题_MySQL
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 ソフトウェア |

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La carte par défaut sur l'iPhone est Maps, le fournisseur de géolocalisation propriétaire d'Apple. Même si la carte s’améliore, elle ne fonctionne pas bien en dehors des États-Unis. Il n'a rien à offrir par rapport à Google Maps. Dans cet article, nous discutons des étapes réalisables pour utiliser Google Maps afin de devenir la carte par défaut sur votre iPhone. Comment faire de Google Maps la carte par défaut sur iPhone Définir Google Maps comme application cartographique par défaut sur votre téléphone est plus facile que vous ne le pensez. Suivez les étapes ci-dessous – Étapes préalables – Vous devez avoir Gmail installé sur votre téléphone. Étape 1 – Ouvrez l'AppStore. Étape 2 – Recherchez « Gmail ». Étape 3 – Cliquez à côté de l'application Gmail

Comment envoyer des pages Web sur le bureau sous forme de raccourci dans le navigateur Edge ? Beaucoup de nos utilisateurs souhaitent afficher les pages Web fréquemment utilisées sur le bureau sous forme de raccourcis pour faciliter l'ouverture directe des pages d'accès, mais ils ne savent pas comment procéder. En réponse à ce problème, l'éditeur de ce numéro partagera le. solution avec la majorité des utilisateurs, jetons un coup d’œil au contenu partagé dans le didacticiel du logiciel d’aujourd’hui. La méthode de raccourci pour envoyer des pages Web au bureau dans le navigateur Edge : 1. Ouvrez le logiciel et cliquez sur le bouton "..." sur la page. 2. Sélectionnez « Installer ce site en tant qu'application » dans « Application » dans l'option du menu déroulant. 3. Enfin, cliquez dessus dans la fenêtre pop-up

Call of Duty Warzone est un jeu mobile récemment lancé. De nombreux joueurs sont très curieux de savoir comment définir la langue de ce jeu sur le chinois. En fait, c'est très simple. Il suffit aux joueurs de télécharger le pack de langue chinoise, puis vous pouvez le faire. modifiez-le après l'avoir utilisé. Le contenu détaillé peut être appris dans cette introduction à la méthode de réglage chinoise. Comment définir la langue chinoise pour le jeu mobile Call of Duty : Warzone 1. Entrez d'abord dans le jeu et cliquez sur l'icône des paramètres dans le coin supérieur droit de l'interface. 2. Dans la barre de menu qui apparaît, recherchez l'option [Télécharger] et cliquez dessus. 3. Sélectionnez [SIMPLIFIEDCHINESE] (chinois simplifié) sur cette page pour télécharger le package d'installation en chinois simplifié. 4. Revenir aux paramètres

Configuration de VSCode en chinois : un guide complet Dans le développement de logiciels, Visual Studio Code (VSCode en abrégé) est un environnement de développement intégré couramment utilisé. Pour les développeurs qui utilisent le chinois, la configuration de VSCode sur l'interface chinoise peut améliorer l'efficacité du travail. Cet article vous fournira un guide complet, détaillant comment définir VSCode sur une interface chinoise et fournissant des exemples de code spécifiques. Étape 1 : Téléchargez et installez le pack de langue. Après avoir ouvert VSCode, cliquez sur la gauche.

La feuille de calcul Excel est l'un des logiciels de bureau que de nombreuses personnes utilisent actuellement. Certains utilisateurs, parce que leur ordinateur est un système Win11, donc l'interface anglaise s'affiche, ils souhaitent passer à l'interface chinoise, mais ils ne savent pas comment l'utiliser. Pour résoudre ce problème, ce problème L'éditeur est là pour répondre aux questions de tous les utilisateurs. Jetons un coup d'œil au contenu partagé dans le didacticiel du logiciel d'aujourd'hui. Tutoriel pour passer d'Excel au chinois : 1. Entrez dans le logiciel et cliquez sur l'option "Fichier" sur le côté gauche de la barre d'outils en haut de la page. 2. Sélectionnez « options » parmi les options ci-dessous. 3. Après être entré dans la nouvelle interface, cliquez sur l'option « langue » à gauche

Comment afficher correctement les caractères chinois dans PHPDompdf Lorsque vous utilisez PHPDompdf pour générer des fichiers PDF, il est courant de rencontrer le problème des caractères chinois tronqués. En effet, la bibliothèque de polices utilisée par Dompdf ne contient pas de jeux de caractères chinois. Afin d'afficher correctement les caractères chinois, nous devons définir manuellement la police de Dompdf et nous assurer de sélectionner une police prenant en charge les caractères chinois. Voici quelques étapes spécifiques et exemples de code pour résoudre ce problème : Étape 1 : Téléchargez le fichier de police chinoise Tout d'abord, nous avons besoin

L'application horloge est-elle absente de votre téléphone ? La date et l'heure apparaîtront toujours sur la barre d'état de votre iPhone. Cependant, sans l'application Horloge, vous ne pourrez pas utiliser l'horloge mondiale, le chronomètre, le réveil et bien d'autres fonctionnalités. Par conséquent, réparer l’application d’horloge manquante devrait figurer en haut de votre liste de tâches. Ces solutions peuvent vous aider à résoudre ce problème. Correctif 1 – Placer l’application Horloge Si vous avez supprimé par erreur l’application Horloge de votre écran d’accueil, vous pouvez remettre l’application Horloge à sa place. Étape 1 – Déverrouillez votre iPhone et commencez à faire glisser votre doigt vers la gauche jusqu'à atteindre la page Bibliothèque d'applications. Étape 2 – Ensuite, recherchez « horloge » dans le champ de recherche. Étape 3 – Lorsque vous voyez « Horloge » ci-dessous dans les résultats de recherche, maintenez-la enfoncée et

Titre : Un moyen efficace de réparer les caractères chinois tronqués dans PHPDompdf Lorsque vous utilisez PHPDompdf pour générer des documents PDF, les caractères chinois tronqués sont un problème courant. Ce problème vient généralement du fait que Dompdf ne prend pas en charge les jeux de caractères chinois par défaut, ce qui entraîne un affichage incorrect du contenu chinois. Afin de résoudre ce problème, nous devons adopter des moyens efficaces pour résoudre le problème chinois tronqué de PHPDompdf. 1. Utilisez des fichiers de polices personnalisés. Un moyen efficace de résoudre le problème des caractères chinois tronqués dans Dompdf consiste à utiliser.
