Solution au code chinois tronqué dans le lien php sqlserver : 1. Ouvrez l'analyseur de requêtes de sqlserver2005 ; 2. Ouvrez [php.ini] et configurez [mssql.charset = "utf-8"] ; En php Ajoutez les codes pertinents au fichier ; 4. Transcodez les données d'entrée.
Solution pour le code chinois tronqué du lien php sqlserver :
Tout d'abord, ouvrez l'analyse des requêtes de sqlserver2005 Exécutez , code
SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
et vérifiez que le résultat "936" s'affiche, indiquant que l'encodage de la base de données est GBK
Le tableau ci-joint est le suivant :
936 Chinois simplifié GBK
950 Chinois traditionnel BIG5
437 États-Unis/Canada Anglais
932 Japonais
949 Coréen 8
66 russe
65001 unicode UFT-8
Deuxièmement, ouvrez php.ini et configurez-le comme suit
mssql.charset = "utf-8"
Pensez à redémarrer le serveur ! ! ! ! ! ! !
Troisièmement, ajoutez le code suivant dans le fichier php,
<?php …… header("content-Type: text/html; charset=utf-8"); ……?>
Quatrièmement, transcodez les données d'entrée
Les données Le test de la table est le suivant :
La variable soumise par la simulation est de type = 'Unicom', et elle est transcodée
$type = '联通';$type = (iconv('UTF-8','GBK',$type));
L'instruction sql est comme suit,
$result= mssql_query("select * from dbo.test where type = '$type' and name = 'TOM'", $conn);
Cinquièmement, transcodez les résultats de la requête (le code principal est le suivant)
$res['type'] = iconv('GBK','UTF-8',$result['type']);echo $res['type'];
Affichez le résultat :
China Unicom
L'affichage est normal.
Sixièmement, modifiez le cinquième code comme suit :
$res['stname'] = urlencode(iconv('GBK','UTF-8',$row['stname']));
Ensuite, encapsulez JSON et envoyez-le
echo urldecode(json_encode($res));
Recommandations d'apprentissage associées : Programmation PHP du débutant au compétent
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!