Heim Backend-Entwicklung PHP-Tutorial PHP写入数据库中文乱码问题

PHP写入数据库中文乱码问题

Jun 23, 2016 pm 01:02 PM

声明:本篇文章来自http://www.jb51.net/article/30123.htm

PHP页面转UTF-8编码问题 

1.在代码开始出加入一行: 

header("Content-Type: text/html;charset=utf-8"); 
Nach dem Login kopieren
<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">2.PHP文件编码问题 </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8, </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">如果是ANSI,需要将编码改成:UTF-8。 </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">3.PHP文件头BOM问题: </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">PHP文件一定不可以有BOM标签 </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">否则,会出现session不能使用的情况,并有类似的提示: </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">这是因为,在执行session_start() 的时候,整个页面不能有输出,但是当由于前PHP页面存在BOM标签, </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">PHP把这个BOM标签当成是输出了,所以就出错了! </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">所以PHP页面一定要删除BOM标签 </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">删除这个BOM标签的方法: </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">1.可以用Dreamweaver打开文件,并重新保存,即可以去除BOM标签! </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">2.可以用EditPlus打开文件,并在菜单“首选项”->“文件”->"UTF-8标识",设置为:“总是删除签名”, </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">然后保存文件,即可以去除BOM标签! </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">4.PHP以附件形式保存文件的时候,UTF-8编码问题: </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">PHP以附件形式保存文件,文件名必须是GB2312编码, </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">否则,如果文件名中有中文的话,将是显示乱码: </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">如果你的PHP本身是UTF-8编码格式的文件, </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">需要将文件名变量由UTF-8转成GB2312: </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">iconv("UTF-8", "GB2312", "$filename"); </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">利用程序来实例字符截取方法 </span>
Nach dem Login kopieren
<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"></span><pre name="code" class="php">function utf8_substr($str,$len) {   for($i=0;$i 127){       $i++;     if($i MYSQL数据库使用UTF-8编码的问题    <br>   <br> 1.用phpmyadmin创建数据库和数据表    <br> 创建数据库的时候,请将“整理”设置为:“utf8_general_ci”    <br> 或执行语句:   <p></p>   <pre name="code" class="sycode"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"></span><pre name="code" class="php">CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 
Nach dem Login kopieren
<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">创建数据表的时候:如果是该字段是存放中文的话,则需要将“整理”设置为:“utf8_general_ci”, </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">如果该字段是存放英文或数字的话,默认就可以了。 </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">相应的SQL语句,例如: </span>
Nach dem Login kopieren
<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"></span><pre name="code" class="sql">CREATE TABLE `test` ( `id` INT NOT NULL , `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = MYISAM ; 
Nach dem Login kopieren
2.用PHP读写数据库 
在连接数据库之后:
<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"></span><pre name="code" class="php">$connection = mysql_connect($host_name, $host_user, $host_pass); 
Nach dem Login kopieren
加入两行: 
<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"></span></span><pre name="code" class="php">mysql_query("set character set 'utf8'");//读库 mysql_query("set names 'utf8'");//写库 //其实读写都可以只加入mysql_query("set names 'utf8'")
Nach dem Login kopieren

就可以正常的读写MYSQL数据库了。 

用的appserv-win32-2.5.10做的环境,装这个包的时候用默认的utf8编码。 
在写数据库连接文件时,写成: 
<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"></span></span></span><pre name="code" class="php">$conn = mysql_connect("$host","$user","$password"); mysql_query("SET NAMES 'UTF8'"); mysql_select_db("$database",$conn); 
Nach dem Login kopieren
然后在做页面时,注意这句: 
<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px; background-color: rgb(221, 237, 251);"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </span></span></span></span>
Nach dem Login kopieren
<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">这样不管输入数据库的中文,还是页面显示,就都正常了。 </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">在DW CS4版里,默认生成的也是utf8页面。 </span><br style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;">同样的,如果一开始写数据库连接文件时写成: </span></span></span></span><pre name="code" class="php">mysql_query("SET NAMES 'GBK'"); 
Nach dem Login kopieren
那页面也要相应变成: 
<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"><span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"></span></span></span><pre name="code" class="cpp"><meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
Nach dem Login kopieren




<span style="font-family: tahoma, arial, 宋体; font-size: 14px; line-height: 25.2px;"></span>
Nach dem Login kopieren





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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Erklären Sie das Konzept der späten statischen Bindung in PHP. Erklären Sie das Konzept der späten statischen Bindung in PHP. Mar 21, 2025 pm 01:33 PM

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Mar 28, 2025 pm 05:11 PM

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Mar 28, 2025 pm 05:12 PM

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Apr 01, 2025 pm 03:12 PM

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Apr 03, 2025 am 12:04 AM

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Apr 06, 2025 am 12:02 AM

Die Hijacking der Sitzung kann in den folgenden Schritten erreicht werden: 1. Erhalten Sie die Sitzungs -ID, 2. Verwenden Sie die Sitzungs -ID, 3. Halten Sie die Sitzung aktiv. Zu den Methoden zur Verhinderung der Sitzung der Sitzung in PHP gehören: 1. Verwenden Sie die Funktion Session_regenerate_id (), um die Sitzungs -ID zu regenerieren. 2. Store -Sitzungsdaten über die Datenbank, 3. Stellen Sie sicher, dass alle Sitzungsdaten über HTTPS übertragen werden.

See all articles