ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp3クエリmssqlデータベースの文字化け問題を解決する方法

thinkphp3クエリmssqlデータベースの文字化け問題を解決する方法

不言
不言オリジナル
2018-06-19 15:25:382077ブラウズ

この記事は主に thinkphp3 クエリ mssql データベースの文字化けの解決策を紹介します。必要な友人は参考にしてください。

thinkphp が mssql データベースに文字化けを起こす理由は、ThinkPHP のデフォルトが UTF-8 であるためです。 、msmsql データベースは簡素化されています。中国語版には GB2312 エンコーディングが保存されています。

解決策:

1: ThinkPHP\Lib\Core の Db.class.php を開き、最後に
2 を追加します。 : Db.class.php は関数 select() を見つけ、$result = $this->query($sql); の後に $result=iconv2utf8($result) を追加します。それでOKです。

コードは次のとおりです。

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(&#39;gb2312&#39;,&#39;utf-8&#39;,$Result[$key1[$i]][$key2[$j]]); 
  }         
 }       
 retrun $Row;  
}

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

thinkPHP のバッチ削除の実装方法について

thinkPHP3.2 のページング カスタム スタイルの実装についてメソッド

#thinkPHP の組み込み文字列インターセプト関数メソッドについて

##

以上がthinkphp3クエリmssqlデータベースの文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。