Maison >interface Web >js tutoriel >Résoudre le problème de JS demandant les compétences du serveur gbk file garbled_javascript

Résoudre le problème de JS demandant les compétences du serveur gbk file garbled_javascript

WBOY
WBOYoriginal
2016-05-16 15:36:231484parcourir

Lorsque JS obtient un fichier avec le format d'encodage du serveur gb2312, le contenu est tronqué. La requête réseau ajax utilise XMLHttpRequest en interne, vous devez donc définir le format d'encodage avant de demander, mais définissez xhr.setRequestHeader("accept", " text/csv ;charset=gb2312,*/*"); n'a aucun effet. Seul le paramètre xhr.overrideMimeType("text/csv;charset=gb2312"); est correct. Le code est le suivant :

<span style="font-size:18px;">$.ajax({ 
    type: "get", 
    url:"http://7xnhdv.com1.z0.glb.clouddn.com/test1.csv", 
    beforeSend: function(xhr) {  //beforeSend定义全局变量 
     //  xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*"); 
      xhr.overrideMimeType("text/csv;charset=gb2312"); 
    }, 
    success: function(xmlDoc, textStatus, xhr)  
    { 
      if(xhr.status == 200) 
      { 
        $('#view0').text(xmlDoc); 
      } 
    } 
  } 
  );</span> 

La fonction overrideMimeType remplacera l'en-tête envoyé au serveur, forçant text/csv;charset=gb2312 comme type MIME.

ps : Solution pour que js affiche des caractères tronqués en chinois ou affiche des caractères tronqués sur la page

Le fichier ①.js affiche des caractères tronqués en chinois

Le fichier Javascript XX.js a un schéma d'encodage (tel que GBK) lors de l'édition et de l'enregistrement. Lorsque l'encodage utilisé lors de l'ouverture du fichier (tel que UTF-8) n'est pas cohérent avec le schéma d'encodage lors de l'enregistrement, des caractères chinois sont tronqués. apparaîtra.

Solution :

(1) Lors de l'ouverture et de la navigation avec un éditeur, sélectionnez la méthode d'encodage qui est cohérente avec l'encodage du fichier d'origine (comme GBK) à afficher, il n'y aura alors aucun caractère tronqué

 ;

(2) Sélectionnez le XX.js tronqué dans l'explorateur de packages dans Eclipse, sélectionnez les propriétés dans le menu contextuel et sélectionnez l'encodage (tel que GBK) lors de l'édition et de l'enregistrement avec XX.js dans l'encodage du fichier texte, alors il peut être affiché normalement ;

②Champs chinois tronqués en JavaScript dans la page du site

Les caractères chinois dans XX.js sont affichés normalement dans Eclipse ou dans l'éditeur. Lors de l'appel de XX.js sur la page, après exécution, le champ chinois dans les résultats de la page affiche des caractères tronqués.

Solution :

"Afficher" la méthode d'encodage du fichier XX.js sur la page qui référence XX.js, afin qu'elle soit cohérente avec la méthode d'encodage du fichier XX.js lui-même (comme GBK).

b3ec94372614afc6efd4ebb5e73eb0612cacc6d41bbb37262a98f745aa00fbf0

Recommandation :

(1) Lorsque vous utilisez Eclipse ou Myeclipse pour créer XX.js et le modifier, il est recommandé de modifier d'abord le codage du fichier texte en UTF-8, puis de le modifier et de l'enregistrer.
(2) Utilisez un document texte ou un autre éditeur pour modifier et enregistrer XX.js. Il est recommandé de l'enregistrer en codage UTF-8.
(3) "Afficher" et ajoutez la méthode d'encodage UTF-8 du fichier XX.js sur la page qui référence XX.js.

<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“utf-8”></script>
Déclaration:
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