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).
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>