php phpcms 截取 亂碼
PHPCMS 官方論壇人氣不高,特求助CSDN的各位大神們。下面代碼是想要批量提取內容表中的內容到描述欄位中,並過濾字元和截取字數。
但是運行檔案後,資料庫description欄位全是? 代碼如下:
0xa0 ? $H_start+1 : $H_start);for($i = $H_start; $i < $H_str_len; $i++){if($i >= ($H_start+$H_len)) break;$H_size = ord(substr($H_str, $i, 1)) > 0xa0 ? 3 : 1;$H_tmep .= substr($H_str, $i, $H_size);$i += $H_size > 1 ? 1 : 0;}if(($H_flag == "Y" && $H_start+$H_len < $H_str_len) || $H_flag == "YY"){$H_tmep.="...";}return $H_tmep;}function H_preg_repe($H_str){$H_searh = array ("''si", "'<[\/\!]*?[^<>]*?>'si", "'([\r\n])[\s]+'", "'&(quot|#34);'i", "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'&#(\d+);'e"); $H_reple = array ("", "", "\\1", "\"", "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(\\1)");return trim(addslashes(nl2br(stripslashes(preg_replace($H_searh,$H_reple,$H_str)))));}echo "大量新增摘要成功";?>
回複討論(解決方案)
$H_char = 'utf-8'; //這個錯了,mysql 的開發人員最初在書寫代碼時漏寫了一個“-”,導致這個問題一直延續到今天
$H_char = 'utf8';
MySQL 中 utf-8 需寫作 utf8