이 글에서는 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('gb2312','utf-8',$Result[$key1[$i]][$key2[$j]]); } } retrun $Row; }
위는 이 글의 전체 내용입니다. 도움이 되길 바랍니다. 모두의 공부에, 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트에 주목하세요!
관련 추천:
thinkPHP3.2에서 페이징 사용자 정의 스타일을 구현하는 방법에 대해
thinkPHP에 내장된 문자열 가로채기 기능 방법에 대해
위 내용은 thinkphp3 쿼리 mssql 데이터베이스에서 잘못된 문자 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!