TDOA_工作流名称、流程表单办理等页面生僻字无法显示
- 问题背景描述
PC端OA系统的工作流名称、工作流程办理页面的生僻字无法显示,但能存入到数据库中。例璟、赟等。 - 解决办法:
找到如下路径:D:/MYOA/webroot/inc/utility.php
先备份文件,在把附件下载后,替换这个文件。 - 代码片段
修改前
function td_htmlspecialchars($str, $chars="")
{
if ($chars == "") {
return htmlspecialchars($str, ENT_COMPAT, "");
}
$chars_array = array_unique(str_split($chars));
$chars_array = array_intersect($chars_array, array("<", ">", "\"", "'", "&"));
if (!is_array($chars_array) || (count($chars_array) == 0)) {
return $str;
}
$replace_array = array();
for ($i = 0; $i < count($chars_array); $i++) {
$replace_array[$i] = td_htmlspecialchars($chars_array[$i], ENT_COMPAT, "");
}
return str_replace($chars_array, $replace_array, $str);
}
修改后
function td_htmlspecialchars($str, $chars="GBK")
{
if ($chars == "") {
return htmlspecialchars($str, ENT_COMPAT, "GBK");
}
$chars_array = array_unique(str_split($chars));
$chars_array = array_intersect($chars_array, array("<", ">", "\"", "'", "&"));
if (!is_array($chars_array) || (count($chars_array) == 0)) {
return $str;
}
$replace_array = array();
for ($i = 0; $i < count($chars_array); $i++) {
$replace_array[$i] = td_htmlspecialchars($chars_array[$i], ENT_COMPAT, "");
}
return str_replace($chars_array, $replace_array, $str);
}