>백엔드 개발 >PHP 튜토리얼 >thinkphp3 쿼리 mssql 데이터베이스에서 잘못된 문자 문제를 해결하는 방법

thinkphp3 쿼리 mssql 데이터베이스에서 잘못된 문자 문제를 해결하는 방법

不言
不言원래의
2018-06-19 15:25:382080검색

이 글에서는 thinkphp3 쿼리 mssql 데이터베이스의 잘못된 문자에 대한 해결 방법을 주로 소개합니다. 필요한 친구는 참고하면 됩니다.

thinkphp가 mssql 데이터베이스에 잘못된 문자를 쿼리하는 이유는 ThinkPHP가 기본적으로 UTF-8이고 msmsql 데이터베이스가 단순화된 중국어 버전 및 GB2312 인코딩 저장

솔루션:

1: ThinkPHPLibCore에서 Db.class.php를 열고
2를 추가합니다. $result = $this->에서 Db.class.php에서 select() 함수를 찾습니다. query($sql); 뒤에 $result=iconv2utf8($result)를 추가하면 괜찮습니다

코드는 다음과 같습니다.

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 중국어 웹사이트에 주목하세요!

관련 추천:

thinkPHP에서 일괄 삭제 구현 방법에 대해

thinkPHP3.2에서 페이징 사용자 정의 스타일을 구현하는 방법에 대해

thinkPHP에 내장된 문자열 가로채기 기능 방법에 대해

위 내용은 thinkphp3 쿼리 mssql 데이터베이스에서 잘못된 문자 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.