crx349 发表于 2018-2-26 15:15:12

Discuz!x3.4 20180101 发帖乱码解决方案


source\function\function_core.php

搜索:
function dhtmlspecialchars($string, $flags = null) {
      if(is_array($string)) {
                foreach($string as $key => $val) {
                        $string[$key] = dhtmlspecialchars($val, $flags);
                }
      } else {
                if($flags === null) {
                        $string = str_replace(array('&', '"', '<', '>'), array('&amp;', '&quot;', '&lt;', '&gt;'), $string);
                        if(strpos($string, '&amp;#') !== false) {
                              $string = preg_replace('/&amp;((#(\d{3,5}|x{4}));)/', '&\\1', $string);
                        }
                } else {
                        if(PHP_VERSION < '5.4.0') {
                              $string = htmlspecialchars($string, $flags);
                        } else {
                              if(strtolower(CHARSET) == 'utf-8') {
                                        $charset = 'UTF-8';
                              } else {
                                        $charset = 'ISO-8859-1';
                              }
                              $string = htmlspecialchars($string, $flags, $charset);
                        }
                }
      }
      return $string;
}

删除
if(strpos($string, '&amp;#') !== false) {
                              $string = preg_replace('/&amp;((#(\d{3,5}|x{4}));)/', '&\\1', $string);

bug解决
页: [1]
查看完整版本: Discuz!x3.4 20180101 发帖乱码解决方案