Heim Backend-Entwicklung PHP-Tutorial 关于curl抓取回来的网页中中文乱码的有关问题

关于curl抓取回来的网页中中文乱码的有关问题

Jun 13, 2016 pm 01:13 PM
code encoding str

关于curl抓取回来的网页中中文乱码的问题!
目前使用这个函数进行转码:
function safeEncoding($str){
$code=mb_detect_encoding($str,array('ASCII','GB2312','GBK','UTF-8'));//检测字符串编码
if($code=="CP936"){
$result=$str;
}
else{
//$result=mb_convert_encoding($str,'UTF-8',$code);//将编码$code转换为utf-8编码
$result=iconv($code,"UTF-8",$str);
}
  return $result;
}
可是还是有问题,遇到有些明明charset写着gb2312的抓回来还是乱码,请教高手,curl到底该怎么全面的进行转码呢?就是把gbk,gb2312等网页常用格式转成utf8的。

------解决方案--------------------
把你的文件编码转换下试试!
------解决方案--------------------
EUC-CN是GB 2312最常用的表示方法。浏览器编码表上的“GB2312”,通常都是指“EUC-CN”表示法。
这不是关键!
你需要的是 把gbk,gb2312等网页常用格式转成utf8的
而你的代码正好没有这样做

if(! mb_check_encoding($str, 'utf-8')) {
$str = mb_convert_encoding($str,'UTF-8','gbk');
}

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)
1 Monate 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
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
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)

Bearbeiten Sie Ihr Unity-Projekt in Visual Studio Code und schon können Sie loslegen Bearbeiten Sie Ihr Unity-Projekt in Visual Studio Code und schon können Sie loslegen Aug 08, 2023 am 10:21 AM

Microsoft hat eine Vorschauversion der Unity-Erweiterung für Visual Studio Code veröffentlicht. Mit dieser neuen Unity-Erweiterung können Sie Unity-Spiele schreiben und debuggen. Diese neue Unity-Erweiterung bringt einige beliebte Funktionen, die bereits in Visual Studio und Visual Studio Tools für Unity verfügbar sind, und macht C# in Visual Studio Code für die Unity-Entwicklung besser. Derzeit bietet die Unity-Erweiterung für VSCode Folgendes: Einen Unity-Debugger zum Debuggen Ihres Unity-Editors und Unity-Players. Unity-spezifischer C#-Analysator und Refactoring. Uni

Wie gehe ich mit UnsupportedEncodingException in Java um? Wie gehe ich mit UnsupportedEncodingException in Java um? Jun 25, 2023 am 08:02 AM

Wie gehe ich mit UnsupportedEncodingException in Java um? Bei der Java-Programmierung kann es zu UnsupportedEncodingException kommen. Diese Ausnahme wird normalerweise durch eine falsche Kodierungskonvertierung oder eine nicht unterstützte Kodierung verursacht. In diesem Artikel stellen wir die Ursachen der UnsupportedEncodingException-Ausnahme und den Umgang damit vor. Was ist nicht unterstütztE

In Python integrierte Quellcodeanalyse vom Typ str In Python integrierte Quellcodeanalyse vom Typ str May 09, 2023 pm 02:16 PM

1Die Grundeinheit des Unicode-Computerspeichers ist das Byte, das aus 8 Bits besteht. Da Englisch nur aus 26 Buchstaben plus einer Reihe von Symbolen besteht, können englische Zeichen direkt in Bytes gespeichert werden. Andere Sprachen (wie Chinesisch, Japanisch, Koreanisch usw.) müssen jedoch aufgrund der großen Anzahl von Zeichen mehrere Bytes für die Codierung verwenden. Mit der Verbreitung der Computertechnologie entwickelt sich die Technologie zur Kodierung nicht-lateinischer Zeichen weiter, es gibt jedoch immer noch zwei wesentliche Einschränkungen: keine Unterstützung mehrerer Sprachen: Das Kodierungsschema einer Sprache kann nicht in einer anderen Sprache verwendet werden und es gibt keinen einheitlichen Standard: Beispielsweise gibt es auf Chinesisch viele Codierungsstandards wie GBK, GB2312, GB18030 usw. Da die Codierungsmethoden nicht einheitlich sind, müssen Entwickler zwischen verschiedenen Codierungen hin und her konvertieren, und es treten zwangsläufig viele Fehler auf.

Was sind die Gemeinsamkeiten und Unterschiede zwischen __str__ und __repr__ in Python? Was sind die Gemeinsamkeiten und Unterschiede zwischen __str__ und __repr__ in Python? Apr 29, 2023 pm 07:58 PM

Was sind die Gemeinsamkeiten und Unterschiede zwischen __str__ und __repr__? Wir alle wissen, dass die in Python integrierte Funktion repr() Objekte in Form von Zeichenfolgen ausdrücken kann, um unsere Identifizierung zu erleichtern. Dies ist die „String-Darstellung“. repr() erhält die String-Darstellung eines Objekts über die spezielle Methode __repr__. Wenn __repr__ nicht implementiert ist und wir eine Instanz eines Vektors auf der Konsole ausgeben, kann die resultierende Zeichenfolge sein. >>>classExample:pass>>>print(str(Example()))>>>

Was sind die Prinzipien und die Verwendung der Redis-Typ- und Kodierungskodierung? Was sind die Prinzipien und die Verwendung der Redis-Typ- und Kodierungskodierung? May 29, 2023 pm 04:21 PM

Zusammenfassung Redis ist eine Open-Source-Hochleistungs-Schlüsselwertdatenbank, die in verschiedenen Szenarien weit verbreitet ist. In Redis sind Datentyp (Typ) und Kodierung (Kodierung) sehr wichtige Konzepte. In diesem Blog werden die von Redis unterstützten Datentypen sowie die entsprechenden Codierungsmethoden und zugrunde liegenden Implementierungsprinzipien ausführlich vorgestellt. Um die interne Codierung eines Redis-Schlüssels anzuzeigen, können Sie den Redis-Befehl OBJECTENCODINGkey verwenden. Unter diesen ist der Schlüssel der Schlüsselname, den Sie abfragen möchten. Wenn Sie beispielsweise die interne Kodierung eines Schlüssels namens mykey abfragen möchten, können Sie den folgenden Befehl ausführen: 127.0.0.1:6379>objectencodin

HTML und Code: Ein genauerer Blick auf die Terminologie HTML und Code: Ein genauerer Blick auf die Terminologie Apr 10, 2025 am 09:28 AM

HtmlisaspecifictypeofcodeFocusedonstructuringuringwebcontent, während "Code" breitincludesluages ​​-ähnlichjavaScriptandpythonforfunctionality.1) htmldefineswebpageStructureStags.2) "Code" cometesaWiNrangeOfLanguagesForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForfirsInsForfunctionNacts

Lösung für die UnsupportedEncodingException-Ausnahme in Java Lösung für die UnsupportedEncodingException-Ausnahme in Java Jun 25, 2023 am 08:48 AM

In Java kann eine UnsupportedEncodingException auftreten, hauptsächlich weil die Codierung nicht unterstützt wird. Bei der Verarbeitung von Textdaten ist es häufig erforderlich, eine Kodierungskonvertierung durchzuführen, dh den Inhalt eines Kodierungsformats in den Inhalt eines anderen Kodierungsformats umzuwandeln. Wenn der für die Kodierungskonvertierung verwendete Kodierungstyp nicht unterstützt wird, wird eine UnsupportedEncodingException ausgelöst. In diesem Artikel wird die Lösung für diese Ausnahme vorgestellt. eins,

Verwenden Sie die vom Paket „encoding/csv' bereitgestellten Funktionen zum Lesen und Schreiben von CSV-Dateien Verwenden Sie die vom Paket „encoding/csv' bereitgestellten Funktionen zum Lesen und Schreiben von CSV-Dateien Jul 24, 2023 pm 01:13 PM

Verwenden Sie die vom Paket „encoding/csv“ bereitgestellten Funktionen zum Lesen und Schreiben von CSV-Dateien. CSV (Comma-SeparatedValues) ist ein häufig verwendetes Datenspeicherformat, mit dem Daten einfach als Textdatei in durch Kommas getrennter Form gespeichert werden können. In Python können Sie das Paket „encoding/csv“ in der Standardbibliothek verwenden, um bequem CSV-Dateien zu lesen und zu schreiben. Zuerst müssen wir das Encoding/CSV-Paket importieren: importcsv Next

See all articles