Maison  >  Article  >  interface Web  >  De Go à l'échange utf-8_experience

De Go à l'échange utf-8_experience

WBOY
WBOYoriginal
2016-05-16 12:10:041729parcourir

Maintenant, l'encodage de nombreux sites Web chinois passe de l'encodage gb2312 à l'encodage utf-8. De nombreux problèmes se posent et sont résumés ici :

Prérequis :

Assurez-vous que tous les fichiers sont enregistrés au format UTF-8 et non ANSI

Paramètres spécifiques : Si vous utilisez un éditeur de texte, il existe une sélection d'encodage lors de l'enregistrement du fichier (Figure 1) 文本编辑器的保存对话框 Sélectionnez-le simplement au format UTF-8.

Si vous utilisez Dreamweaver, ce sera un peu plus gênant.

Lorsque vous utilisez Dreamweaver pour modifier des fichiers statiques, modifiez la balise charset du fichier en utf-8 : <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> en <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />, puis sélectionnez Enregistrer sous. Dream enregistrera le fichier encodé en utf-8

.

Remarque : si vous utilisez la base de données Access, vous n'avez besoin que des deux étapes ci-dessus. Access lui-même utilise le codage UTF-8.

articles asp

Paramètre de la page de codes :

La première ligne du fichier ASP : <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> modifiée en : <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> Cela détermine également directement l'encodage utilisé par ASP pour accéder à la base de données via ADO.
Remarque : si vous utilisez la base de données Access, vous n'avez besoin que des deux étapes ci-dessus. Access lui-même utilise le codage UTF-8.

Si un programme modèle est utilisé

Le programme modèle habituel lit et écrit des fichiers via l'objet fso. Cependant, cette méthode ne prend pas en charge utf-8 et doit être remplacée par un objet stream pour lire et écrire des fichiers. Voici quelques lignes de code clés :
Utilisez stram pour lire les fichiers
Set objStream =. Server.CreateObject(" ADODB.Stream") <code>Set objStream = Server.CreateObject("ADODB.Stream") <br>    With objStream <br>    .Open <br>    .Charset = "utf-8" <br>    .Position = objStream.Size <br>    .LoadFromFile server.mappath("sc.htm")<br>    wstr = .ReadText<br>    .Close <br>    End With <br>Set objStream = Nothing<br>  Avec objStream Set objStream = Server.CreateObject("ADODB.Stream") <br>    With objStream <br>    .Open <br>    .Charset = "utf-8" <br>    .Position = objStream.Size <br>    .WriteText=wstr <br>    .SaveToFile server.mappath("wz/sc_" & classid & ".htm"),2  <br>    .Close <br>    End With <br>Set objStream = Nothing .Open

.Charset = "utf-8"

.Position = objStream.Size

.LoadFromFile server.mappath(" sc.htm")

wstr = .ReadText

.Close

Terminer par <?php<BR>$conn = new COM("ADODB.Connection",NULL,65001) or die("ADO connect failed!");<BR>$rs = new COM("ADODB.RecordSet") or die("ADO recordset fail"); $conn->open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb"); <br>$rs = $conn->Execute("select * from data");<br>while not $rs->EOF<br>echo $rs->Fields['title']->value;<br>?>Définir objStream = Nothing

Utiliser le flux pour écrire des fichiers Définir objStream = Server.CreateObject ("ADODB.Stream") Avec objStream <p> .Open </p> .Charset = "utf-8" <code><?php mysql_query("SET NAMES 'utf8'"); ?> .Position = objStream.Size .WriteText=wstr .SaveToFile serveur .mappath("wz/ sc_" & classid & ".htm"),2
.Close

Terminer par Set objStream = Nothing article php

php et connexion d'accès :


Utilisez l'extension COM de PHP sur l'hôte Windows pour vous connecter à la base de données d'accès. Lors de l'établissement de ADODB.Connection, spécifiez le paramètre de page de codes comme 65001
<?php<BR>$conn = new. COM(" ADODB.Connection",NULL,65001) ou die("Échec de la connexion ADO!");</P>$rs = new COM("ADODB.RecordSet") ou die("Échec du jeu d'enregistrements ADO"); -> open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb");

$rs = $conn->Execute("select * from data");

pendant pas $rs ->EOF

echo $rs->Fields['title']->value;

?>

Connexion php et mysql

Après avoir établi une connexion avec la base de données mysql, exécutez d'abord la requête SQL suivante : <?php<BR>require_once('adodb/adodb.inc.php'); <BR>$conn =& ADONewConnection('ado_access'); <BR>$conn->charPage ='65001';<br>//$conn->charPage = 65001;<br>//$conn->debug = true;<br>$dsn = sprintf("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= %s",realpath('2data.mdb'));<br>// $dsn = sprintf("Driver={Microsoft Access Driver (*.mdb)};Dbq=%s",realpath("data.mdb"));<br>$conn->Connect($dsn); manuel mysql Description des noms d'ensemble SET NAMES affiche le jeu de caractères utilisé dans l'instruction SQL envoyée par le client. Par conséquent, l'instruction SET NAMES 'cp1251' indique au serveur que « les futures informations de ce client utiliseront le jeu de caractères cp1251 ». Il spécifie également le jeu de caractères pour les résultats que le serveur renvoie au client. (Par exemple, si vous utilisez une instruction SELECT, elle indique quel jeu de caractères est utilisé pour les valeurs de colonne.) L'instruction SET NAMES 'x' est équivalente à ces trois instructions : mysql> SET caractère_set_client = x; Utiliser la classe adodb : Définissez l'attribut 'charpage' sur 65001; <?php<🎜>require_once('adodb/adodb.inc.php'); <🎜>$conn =& ADONewConnection('ado_access'); ) ; <🎜>$conn->charPage ='65001';//$conn->charPage = 65001;//$conn->debug = true;$dsn = sprintf ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= %s",realpath('2data.mdb'));// $dsn = sprintf("Driver={Microsoft Access Driver (*. mdb )};Dbq=%s",realpath("data.mdb"));$conn->Connect($dsn);
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