Maison php教程 php手册 解决ajax获取页面直接显示乱码的方法

解决ajax获取页面直接显示乱码的方法

Jun 21, 2016 am 08:50 AM
data gb quot

大家都知道,xmlhttp在通信时采用的是utf编码,而国内很多网页的信息都是采用gbk编码,所以当直接通过ajax去连接网页,并将获取到的信息直接显示的话就会出现乱码的现象,有些时候无法改变服务器端网页的编码(例如获取别的网站的天气预报信息),在这种时候就只能在客户端通过js做编码的工作了.

下面这段js就是用于将服务器端返回的gbk编码字符串转换为utf编码字符串:


function gb2utf8(data){
  var glbEncode = [];
  gb2utf8_data = data;
  execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
  var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
  t=t.split("@");
  var i=0,j=t.length,k;
  while(++i     k=t[i].substring(0,4);
    if(!glbEncode[k]) {
      gb2utf8_char = eval("0x"+k);
      execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
      glbEncode[k]=escape(gb2utf8_char).substring(1,6);
    }
    t[i]=glbEncode[k]+t[i].substring(4);
  }
  gb2utf8_data = gb2utf8_char = null;
  return unescape(t.join("%")); }

 


有了这段代码后,就可以直接对返回的网页内容进行编码了:
var response=gb2utf8(response.responseBody);


经过这样的转码后所获得的页面内容就不会有乱码现象了;
当然,如果服务器端页面采用的是utf-8的编码那就根本不需要进行编码工作了。



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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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)

À combien de Go équivaut 1 t de mémoire ? À combien de Go équivaut 1 t de mémoire ? Feb 22, 2023 pm 04:55 PM

1t de mémoire équivaut à 1024 Go. La mémoire 1t fait référence à la capacité de stockage de la mémoire de « 1 To », et 1 To équivaut à 1 024 Go. Mais il ne s'agit que d'une valeur théorique basée sur des principes informatiques. Généralement, l'espace de stockage disponible affiché par le système sera inférieur car la définition du disque dur par le fabricant est différente de l'algorithme de l'ordinateur pour la capacité du disque dur ; la capacité d'identification du disque dur et le numéro affiché dans le système d'exploitation peuvent varier.

Combien de Mo font 1 g de mémoire ? Combien de Mo font 1 g de mémoire ? Mar 16, 2023 pm 04:19 PM

1 Go de mémoire équivaut à 1024 Mo. g signifie « Go », qui signifie « gigaoctet » en chinois, et MB fait référence à « mégaoctet » ; Go et Mo sont tous deux couramment utilisés pour indiquer la capacité de stockage des disques durs d'ordinateur, des mémoires et d'autres supports de stockage de plus grandes capacités. le taux de conversion entre Go et Mo est approximativement égal à 1 000 (1 024), soit « 1 Go = 1 024 Mo ».

1g équivaut à combien de Mo de capacité de mémoire 1g équivaut à combien de Mo de capacité de mémoire Feb 03, 2023 pm 03:55 PM

1 g équivaut à 1 024 Mo de capacité de mémoire. Le nom complet de g est « GB », qui signifie « gigaoctet » en chinois. Il s'agit d'une unité décimale de mesure d'informations et est souvent utilisée pour indiquer la capacité de stockage des disques durs d'ordinateur, des mémoires et d'autres supports de stockage de plus grande capacité. Le taux de conversion entre Go et Mo est approximativement égal à 1000 (1024), soit « 1 Go = 1024 Mo ».

Quelle est la capacité de stockage d'un disque dur de 10 Go ? Quelle est la capacité de stockage d'un disque dur de 10 Go ? Mar 08, 2023 am 10:35 AM

Un disque dur de 10 Go représente une capacité de stockage de « 10 milliards d'octets ». L'octet est une unité de mesure utilisée par la technologie de l'information informatique pour mesurer la capacité de stockage, généralement abrégée en « B » ; le Go, également appelé gigaoctet, est une unité décimale de mesure de l'information. Les fabricants de disques durs calculent généralement en décimales : 1 Ko = 1 000 Mo, 1 Mo = 1 000 Ko, 1 Go = 1 000 Mo ; par conséquent, si vous convertissez « 1 Go = 1 000 Mo = 1 000 x 1 000 Ko = 1 000 x 1 000 x 1 000 Mo », cela fait 10 milliards d'octets.

Est-ce que 1 mégabit équivaut à 1G ? Est-ce que 1 mégabit équivaut à 1G ? Feb 27, 2023 pm 03:43 PM

1 billion n’est pas 1G. 1 mégaoctet équivaut à 1 Mo et 1 Go équivaut à 1 024 Mo. Le nom complet de Mo est « MByte », qui fait référence au nombre d'octets. Il s'agit d'une unité de stockage dans les ordinateurs, prononcée comme « méga » et Go est une unité décimale de mesure d'informations, 1 Go = 1 024 Mo, 1 Go = 1 048 576 Ko, 1 Go = 1073741824B.

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Quelles données se trouvent dans le dossier de données ? Quelles données se trouvent dans le dossier de données ? May 05, 2023 pm 04:30 PM

Le dossier de données contient des données du système et du programme, telles que les paramètres logiciels et les packages d'installation. Chaque dossier du dossier Données représente un type différent de dossier de stockage de données, que le fichier de données fasse référence au nom de fichier Données ou à l'extension Données nommées. , ce sont tous des fichiers de données personnalisés par le système ou le programme. Les données sont un fichier de sauvegarde pour le stockage des données. Généralement, elles peuvent être ouvertes avec meidaplayer, le bloc-notes ou Word.

10 Go équivaut à combien d'octets 10 Go équivaut à combien d'octets Feb 23, 2023 pm 04:49 PM

10 Go équivaut à 10737418240 octets (B). L'octet est une unité de mesure utilisée par les technologies de l'information informatique pour mesurer la capacité de stockage, généralement abrégée en « B ». Le Go est également appelé gigaoctet, qui est une unité décimale de mesure d'informations 1 Go = 1 024 Mo, 1 Mo = 1 024 Ko, 1 Ko = 1 024 Go (octets) ;

See all articles