小程序和 discuz一个服务器,Discuz! + 微信小程序

汤枫涟
2023-12-01

由于论坛整体格式为 GBK,而和微信服务端交互,必须为 UTF-8 编码,所以对接口编码进行了一部分的优化。

输出的情况下,有 error.php 下的 array_iconv() 函数,来对输出数组进行编码的转换。

static function array_iconv($str, $in_charset = "UTF-8", $out_charset = CHARSET)

{

if (is_array($str)) {

foreach ($str as $k => $v) {

$str[$k] = WmApiError::array_iconv($v, $in_charset, $out_charset);

}

return $str;

} else {

if (is_string($str)) {

// return iconv('UTF-8', 'GBK//IGNORE', $str);

return mb_convert_encoding($str, $out_charset, $in_charset);

} else {

return $str;

}

}

接受的情况下, 有 inc.php 下的 getDataForCharset() 函数来整合接受编码。

function getDataForCharset($data)

{

return (CHARSET != 'UTF-8') ? dhtmlspecialchars(WmApiError::array_iconv($data)) : dhtmlspecialchars($data);

}

 类似资料: