Maison développement back-end tutoriel php 关于curl抓取回来的网页中中文乱码的有关问题

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

Jun 13, 2016 am 10:48 AM
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');
}

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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Modifiez votre projet Unity dans Visual Studio Code et vous êtes maintenant prêt à partir Modifiez votre projet Unity dans Visual Studio Code et vous êtes maintenant prêt à partir Aug 08, 2023 am 10:21 AM

Microsoft a publié une version préliminaire de l'extension Unity pour Visual Studio Code. Cette nouvelle extension Unity vous permettra d'écrire et de déboguer des jeux Unity. Cette nouvelle extension Unity apporte certaines fonctionnalités populaires déjà disponibles dans Visual Studio et Visual Studio Tools pour Unity, améliorant ainsi C# dans Visual Studio Code pour le développement Unity. Actuellement, l'extension Unity pour VSCode fournit les éléments suivants : Un débogueur Unity pour déboguer votre éditeur Unity et votre lecteur Unity. Analyseur et refactoring C# spécifiques à Unity. Uni

Comment gérer UnsupportedEncodingException en Java ? Comment gérer UnsupportedEncodingException en Java ? Jun 25, 2023 am 08:02 AM

Comment gérer UnsupportedEncodingException en Java ? En programmation Java, vous pouvez rencontrer UnsupportedEncodingException. Cette exception est généralement provoquée par une conversion de codage incorrecte ou par un codage non pris en charge. Dans cet article, nous présenterons les causes de l’exception UnsupportedEncodingException et comment y remédier. Qu'est-ce qui n'est pas pris en charge ?

Analyse du code source str de type Python intégré Analyse du code source str de type Python intégré May 09, 2023 pm 02:16 PM

1L'unité de base du stockage informatique Unicode est l'octet, composé de 8 bits. Étant donné que l'anglais ne comprend que 26 lettres et un certain nombre de symboles, les caractères anglais peuvent être stockés directement en octets. Mais d'autres langues (comme le chinois, le japonais, le coréen, etc.) doivent utiliser plusieurs octets pour le codage en raison du grand nombre de caractères. Avec la diffusion de la technologie informatique, la technologie de codage des caractères non latins continue de se développer, mais il existe encore deux limitations majeures : pas de support multilingue : le schéma de codage d'une langue ne peut pas être utilisé dans une autre langue et il n'existe pas de norme unifiée : par exemple, il existe de nombreuses normes d'encodage en chinois telles que GBK, GB2312, GB18030, etc. Étant donné que les méthodes d'encodage ne sont pas unifiées, les développeurs doivent effectuer des conversions entre différents encodages, et de nombreuses erreurs se produiront inévitablement.

Quelles sont les similitudes et les différences entre __str__ et __repr__ en Python ? Quelles sont les similitudes et les différences entre __str__ et __repr__ en Python ? Apr 29, 2023 pm 07:58 PM

Quelles sont les similitudes et les différences entre __str__ et __repr__ ? Nous connaissons tous la représentation des chaînes. La fonction intégrée repr() de Python peut exprimer des objets sous forme de chaînes pour faciliter notre identification. Il s'agit de la "représentation sous forme de chaîne". repr() obtient la représentation sous forme de chaîne d'un objet via la méthode spéciale __repr__. Si __repr__ n'est pas implémenté, lorsque nous imprimons une instance d'un vecteur sur la console, la chaîne résultante peut l'être. >>>classExample:pass>>>print(str(Example()))>>>

Quels sont les principes et l'utilisation du type Redis et de l'encodage ? Quels sont les principes et l'utilisation du type Redis et de l'encodage ? May 29, 2023 pm 04:21 PM

Résumé Redis est une base de données clé-valeur open source hautes performances largement utilisée dans divers scénarios. Dans Redis, le type de données (type) et l'encodage (encoding) sont des concepts très importants. Ce blog présentera en détail les types de données pris en charge par Redis ainsi que les méthodes de codage correspondantes et les principes de mise en œuvre sous-jacents. Pour afficher l'encodage interne d'une clé Redis, vous pouvez utiliser la commande Redis OBJECTENCODINGkey. Parmi eux, key est le nom de clé que vous souhaitez interroger. Par exemple, si vous souhaitez interroger l'encodage interne d'une clé nommée mykey, vous pouvez exécuter la commande suivante : 127.0.0.1:6379>objectencodin

HTML et code: un examen plus approfondi de la terminologie HTML et code: un examen plus approfondi de la terminologie Apr 10, 2025 am 09:28 AM

Htmlisaspecificypeofcodefocusedonconstructringwebcontent, tandis que "code" en général incluse les langues liés à lajavaScriptandpythonforfonctionnality.1) htmldefineswebpagestructureusingtags.2) "Code" enclueSawidererRangeFlanguageForgicandInteract "

Solution à l'exception UnsupportedEncodingException en Java Solution à l'exception UnsupportedEncodingException en Java Jun 25, 2023 am 08:48 AM

UnsupportedEncodingException peut se produire en Java, principalement parce que l'encodage n'est pas pris en charge. Lors du traitement de données textuelles, il est souvent nécessaire d'effectuer une conversion de codage, c'est-à-dire de convertir le contenu d'un format de codage en contenu d'un autre format de codage. Si le type d’encodage utilisé pour la conversion d’encodage n’est pas pris en charge, une exception UnsupportedEncodingException sera levée. Cet article présentera la solution à cette exception. un,

Utilisez les fonctions fournies par le package encoding/csv pour lire et écrire des fichiers CSV Utilisez les fonctions fournies par le package encoding/csv pour lire et écrire des fichiers CSV Jul 24, 2023 pm 01:13 PM

Utilisez les fonctions fournies par le package encoding/csv pour lire et écrire des fichiers CSV (Comma-SeparatedValues) est un format de stockage de données couramment utilisé qui peut simplement enregistrer les données sous forme de fichier texte séparé par des virgules. En Python, vous pouvez utiliser le package encoding/csv dans la bibliothèque standard pour lire et écrire facilement des fichiers CSV. Tout d’abord, nous devons importer le package encoding/csv : importcsv Suivant

See all articles