Maison >développement back-end >tutoriel php >Comment résoudre le problème des caractères tronqués dans la base de données mssql de requête thinkphp3
Cet article présente principalement la solution aux caractères tronqués dans la base de données mssql de requête thinkphp3. Les amis qui en ont besoin peuvent s'y référer
La raison pour laquelle la base de données mssql de requête thinkphp a des caractères tronqués est que ThinkPHP utilise par défaut UTF-8. , et la base de données msmsql est simplifiée La version chinoise stocke l'encodage GB2312
Solution :
1 : Ouvrez Db.class.php dans ThinkPHPLibCore et ajoutez
à la fin de celui-ci 2 : Dans Db.class. PHP trouve la fonction select() et ajoute $result=iconv2utf8($result) après $result = $this->query($sql); et c'est OK
Le code est le même. suit :
public function iconv2utf8($Result) { $Row=array(); $key1=array_keys($Result); //取查询结果$Result的数组的键值 //print_r($key1); $key2=array_keys($Result[$key1[0]]); //取查询结果$Result的第一个数组($key1[0])的键值 //print_r($key2); for($i=0;$i<count($key1);$i++) { for($j=0;$j<count($key2);$j++) { //取查询结果编码改为UTF-8,并存入$Row,且$Row与$Result键与值一致 $Row[$key1[$i]][$key2[$j]]=iconv('gb2312','utf-8',$Result[$key1[$i]][$key2[$j]]); } } retrun $Row; }
Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois. !
Recommandations associées :
À propos de la façon dont thinkPHP implémente la suppression par lots
À propos de thinkPHP3.2 pour implémenter la méthode de styles personnalisés de pagination
À propos de la méthode de fonction d'interception de chaîne intégrée de thinkPHP
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!