2 u010259017 u010259017 于 2014.12.01 22:09 提问

php中ASCII转中文怎么转啊

我用mb_detect_encoding函数读出来这个是ASCII编码,//& # x4eca;& #x4f55;& #x5728;& #x4f5c;& #x54c1;(我把&#中间加了空格,不然浏览器自动转码了)但是我不知道怎么转成中文,有人能帮帮我么

5个回答

chinmo
chinmo   Rxr 2014.12.02 17:36
已采纳

/**

  • $str Unicode编码后的字符串
  • $decoding 原始字符串的编码,默认GBK
  • $prefix 编码字符串的前缀,默认"&#"
  • $postfix 编码字符串的后缀,默认";" */ function unicode_decode($unistr, $encoding = 'GBK', $prefix = '&#', $postfix = ';') { $arruni = explode($prefix, $unistr); $unistr = ''; for($i = 1, $len = count($arruni); $i < $len; $i++) { if (strlen($postfix) > 0) { $arruni[$i] = substr($arruni[$i], 0, strlen($arruni[$i]) - strlen($postfix)); } $temp = intval($arruni[$i]); $unistr .= ($temp < 256) ? chr(0) . chr($temp) : chr($temp / 256) . chr($temp % 256); } return iconv('UCS-2', $encoding, $unistr); } $unistr='&# 4eca;何在作品' echo unicode_decode($unistr); ```

试试吧
caozhy
caozhy   Ds   Rxr 2014.12.01 23:21
chinmo
chinmo   Rxr 2014.12.02 17:38

试试吧


/**

  • $str Unicode编码后的字符串
  • $decoding 原始字符串的编码,默认GBK
  • $prefix 编码字符串的前缀,默认"&#"
  • $postfix 编码字符串的后缀,默认";" */ function unicode_decode($unistr, $encoding = 'GBK', $prefix = '&#', $postfix = ';') { $arruni = explode($prefix, $unistr); $unistr = ''; for($i = 1, $len = count($arruni); $i < $len; $i++) { if (strlen($postfix) > 0) { $arruni[$i] = substr($arruni[$i], 0, strlen($arruni[$i]) - strlen($postfix)); } $temp = intval($arruni[$i]); $unistr .= ($temp < 256) ? chr(0) . chr($temp) : chr($temp / 256) . chr($temp % 256); } return iconv('UCS-2', $encoding, $unistr); } $unistr='&# 4eca;& #x4f55;& #x5728;& #x4f5c;& #x 54c1;' ; echo unicode_decode($unistr); `
chinmo
chinmo   Rxr 2014.12.02 17:39
 /**
 * $str Unicode编码后的字符串
 * $decoding 原始字符串的编码,默认GBK
 * $prefix 编码字符串的前缀,默认"&#"
 * $postfix 编码字符串的后缀,默认";"
 */
function unicode_decode($unistr, $encoding = 'GBK', $prefix = '&#', $postfix = ';') {
    $arruni = explode($prefix, $unistr);
    $unistr = '';
    for($i = 1, $len = count($arruni); $i < $len; $i++) {
        if (strlen($postfix) > 0) {
            $arruni[$i] = substr($arruni[$i], 0, strlen($arruni[$i]) - strlen($postfix));
        } 
        $temp = intval($arruni[$i]);
        $unistr .= ($temp < 256) ? chr(0) . chr($temp) : chr($temp / 256) . chr($temp % 256);
    } 
    return iconv('UCS-2', $encoding, $unistr);
}
$unistr='&# 4eca;& #x4f55;& #x5728;& #x4f5c;& #x 54c1;' ; echo unicode_decode($unistr); 
chinmo
chinmo   Rxr 2014.12.02 17:40

这个插入代码这么难使用,我靠

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!