国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison php教程 php手冊(cè) PHP-MYSQL中文亂碼問題.

PHP-MYSQL中文亂碼問題.

Jul 09, 2016 am 09:09 AM
mysql php Code brouillé chinois Code Open source programmation langage de programmation Développement de logiciels

從MySQL 4.1開始引入多語言的支持,但是用PHP插入的中文會(huì)出現(xiàn)亂碼.無論用什么編碼也不行.

解決這個(gè)問題其實(shí)很簡(jiǎn)單.

1.在建表的時(shí)候設(shè)置編碼類型為gb2312_chinese_ci.

2.在PHP頁面的數(shù)據(jù)庫連接語句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如

$db_host="localhost";
$db_user="root";
$db_password="password";
$db_name="test";

$link=mysql_connect($db_host,$db_user,$db_password);
mysql_query("SET NAMES 'gb2312'",$link);
$db=mysql_select_db($db_name,$link);
$query="select * from user";
$result=mysql_query($query);

寫入頁面和讀取頁面都加入這行.這樣在MYSQL里面的中文就能正常顯示了.

相關(guān)資料:

從MySQL 4.1開始引入多語言的支持,而且一些特性已經(jīng)超過了其他的數(shù)據(jù)庫系統(tǒng)。
MySQL 4.1的字符集支持(Character Set Support)有兩個(gè)方面:字符集(Character set)和排序方式(Collation)。對(duì)于字符集的支持細(xì)化到四個(gè)層次: 服務(wù)器(server),數(shù)據(jù)庫(database),數(shù)據(jù)表(table)和連接(connection)。
查看系統(tǒng)的字符集和排序方式的設(shè)定可以通過下面的兩條命令:!
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)
mysql> show variables like 'collation_%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)
上面列出的值就是系統(tǒng)的默認(rèn)值。(很奇怪系統(tǒng)怎么默認(rèn)是latin1的瑞典語排序方式)...
當(dāng)我們按照原來的方式通過PHP存取MySQL數(shù)據(jù)庫時(shí),就算設(shè)置了表的默認(rèn)字符集為utf8并且通過UTF-8編碼發(fā)送查詢,你會(huì)發(fā)現(xiàn)存入數(shù)據(jù)庫的仍然是亂碼。問題就出在這個(gè)connection連接層上。解決方法是在發(fā)送查詢前執(zhí)行一下下面這句:
set names 'utf8';
它相當(dāng)于下面的四句指令:
set character_set_client = utf8;
set character_set_results = utf8;
set character_set_connection = utf8;
set collation_connection = utf8_general_ci
由 于默認(rèn)網(wǎng)頁提交的查詢是gb2312(表單頁面meta里可以看到),而mysql默認(rèn)將其當(dāng)作utf8(可以查到此時(shí)的 character_set_client=utf8),所以必然亂碼。同理,mysql返回的結(jié)果是已經(jīng)轉(zhuǎn)換成 character_set_results編碼的(與表的編碼無關(guān)),同樣默認(rèn)是utf8,而網(wǎng)頁頁面把它當(dāng)gb2312處理,所以必然有標(biāo)題等由數(shù)據(jù) 庫讀出的字段是亂碼而其他php部分文字不亂碼的現(xiàn)象。

解決(by 一劍飄雪):
安裝mysql5.0時(shí)要選utf8字符集(在用phpmyadmin創(chuàng)建數(shù)據(jù)庫和字段時(shí)就不需要在整理中選utf8字符集了),并在php建立連接后發(fā)送
$link = mysql_connect('localhost', 'root', 'root');
mysql_query("SET NAMES 'utf8'",$link);
這時(shí)我們?cè)诰W(wǎng)頁中看到的還是亂碼但已不是????了,查看網(wǎng)頁源文件,已完全正常。用記事本打開php源文件,別存為utf8編碼,再刷新網(wǎng)頁,全部搞定了。
或者,當(dāng)然還是要安裝時(shí)仍要utf8安裝,在php中發(fā)送set names 'gb2312',同時(shí)php文件存為記事本默認(rèn)的ansi,也能正確顯示中文.

但總不能每次連接時(shí)都發(fā)送一次SET NAMES 'utf8'吧,如何徹底解決還沒找到方法。

這樣安裝mysql時(shí)缺省字符集選為utf8后又帶來一個(gè)問題,我們?cè)赾ommand.exe中進(jìn)入mysql控制臺(tái)后,查詢結(jié)果又成了亂碼,我們可以在查詢前輸入
mysql>set names 'gbk';

mysql>set names 'gb2312';
相當(dāng)于告訴mysql客戶端在使用gb2312字符集,結(jié)果就正確了,gb2312為GBK的子集.
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel PHP
1502
276
VSCODE Settings.json Emplacement VSCODE Settings.json Emplacement Aug 01, 2025 am 06:12 AM

Le fichier SetfitS.JSON est situé dans le chemin de niveau utilisateur ou au niveau de l'espace de travail et est utilisé pour personnaliser les paramètres VScode. 1. Chemin de niveau utilisateur: Windows est C: \ Users \\ AppData \ Roaming \ Code \ User \ Settings.json, macOS est /users//library/applicationsupport/code/user/settings.json, Linux est /home//.config/code/user/settings.json; 2. Chemin au niveau de l'espace de travail: .vscode / Paramètres dans le répertoire racine du projet

Python pour l'ingénierie des données etl Python pour l'ingénierie des données etl Aug 02, 2025 am 08:48 AM

Python est un outil efficace pour implémenter les processus ETL. 1. Extraction des données: les données peuvent être extraites des bases de données, des API, des fichiers et d'autres sources via des pandas, sqlalchemy, demandes et autres bibliothèques; 2. Conversion des données: utilisez des pandas pour le nettoyage, la conversion de type, l'association, l'agrégation et d'autres opérations pour assurer la qualité des données et optimiser les performances; 3. Chargement des données: utilisez la méthode Pandas To_SQL ou le SDK de la plate-forme cloud pour écrire des données sur le système cible, faire attention aux méthodes d'écriture et au traitement par lots; 4. Recommandations d'outils: Air Flow, Dagster, Prefect sont utilisés pour la planification et la gestion de processus, combinant des alarmes de journal et des environnements virtuels pour améliorer la stabilité et la maintenabilité.

Utilisation de PHP pour le grattage des données et l'automatisation Web Utilisation de PHP pour le grattage des données et l'automatisation Web Aug 01, 2025 am 07:45 AM

Utilisez le buzzerforrobusthttprequestswithhehers et les temps.

Comprendre les ports du réseau et les pare-feu Comprendre les ports du réseau et les pare-feu Aug 01, 2025 am 06:40 AM

NetworkportsandfirewallsworkTogeTherToenable Communication whileSenSurringSecurity.1.networkportsAreVirtualEndpointsNumberred0–65535, Withwell-connuportslike80 (HTTP), 443 (HTTPS), 22 (SSH), et 25 (SMTP)

Passez l'exemple de l'exemple de journalisation du middleware http Passez l'exemple de l'exemple de journalisation du middleware http Aug 03, 2025 am 11:35 AM

HTTP Log Middleware dans GO peut enregistrer les méthodes de demande, les chemins de requête, la propriété intellectuelle du client et le temps qui prend du temps. 1. Utilisez http.handlerfunc pour envelopper le processeur, 2. Enregistrez l'heure de début et l'heure de fin avant et après l'appel Suivant.Servehttp, 3. Obtenez le vrai client IP via R.RemoteAddr et X-Forwared-For Headers, 4. Utilisez le log.printf aux journaux de demande de sortie, 5. L'exemple de code complet a été vérifié pour s'exécuter et convient au démarrage d'un projet petit et moyen. Les suggestions d'extension incluent la capture des codes d'état, la prise en charge des journaux JSON et le suivi des ID de demande.

Utilisation de types HTML ?Entrée? pour les données utilisateur Utilisation de types HTML ?Entrée? pour les données utilisateur Aug 03, 2025 am 11:07 AM

Le choix du bon type HTMLinput peut améliorer la précision des données, améliorer l'expérience utilisateur et améliorer la convivialité. 1. Sélectionnez les types d'entrée correspondants en fonction du type de données, tels que le texte, le courrier électronique, le tel, le numéro et la date, qui peuvent vérifier automatiquement la somme de la somme et l'adaptation au clavier; 2. Utilisez HTML5 pour ajouter de nouveaux types tels que l'URL, la couleur, la plage et la recherche, qui peuvent fournir une méthode d'interaction plus intuitive; 3. Utilisez l'espace réservé et les attributs requis pour améliorer l'efficacité et la précision du remplissage des formulaires, mais il convient de noter que l'espace réservé ne peut pas remplacer l'étiquette.

Développeur YII: ma?triser les compétences techniques essentielles Développeur YII: ma?triser les compétences techniques essentielles Aug 04, 2025 pm 04:54 PM

Pour devenir un ma?tre de YII, vous devez ma?triser les compétences suivantes: 1) Comprendre l'architecture MVC de YII, 2) Compartif dans l'utilisation activerecordorm, 3) utilisez efficacement les outils de génération de code GII, 4) les règles de vérification de Master YII, 5) Optimiser les performances de la base de données, 6) prêtent en continu l'attention aux écosystèmes de la base de données. Grace à l'apprentissage et à la pratique de ces compétences, les capacités de développement dans le cadre YII peuvent être améliorées de manière globale.

passer par l'exemple de déclaration de différence expliquée passer par l'exemple de déclaration de différence expliquée Aug 02, 2025 am 06:26 AM

Le report est utilisé pour effectuer des opérations spécifiées avant le retour de la fonction, telles que les ressources de nettoyage; Les paramètres sont évalués immédiatement lorsqu'ils sont reportés et les fonctions sont exécutées dans l'ordre de la dernière entrée (LIFO); 1. Plusieurs éleveurs sont exécutés dans l'ordre inverse des déclarations; 2. Communément utilisé pour le nettoyage sécurisé tel que la fermeture des fichiers; 3. La valeur de retour nommée peut être modifiée; 4. Il sera exécuté même si la panique se produit, adaptée à la récupération; 5. éviter l'abus de report dans les boucles pour éviter la fuite des ressources; Une utilisation correcte peut améliorer la sécurité et la lisibilité du code.

See all articles