在使用Dedecms CMS时,可能会遇到一个与大括号标签判断相关的BUG。当使用 `name=array runphp` 生成静态页面时,会出现只获取一个字节的问题。
例如:

{dede:field name=array runphp=yes}@me = (@me['seotitle'] != '' ? "{@me['seotitle']}":"{@me['title']}");{/dede:field}

当生成静态页面时,在栏目列表页的第二页可能出现中文乱码问题。这是因为程序只输出了一个字节的内容。
dedecmsCMS dede标签 array runphp 静态生成乱码 BUG 解决方法

这个问题实际上是Dedecms官方程序中的一个BUG。

为了解决这个问题,可以按照以下步骤操作:
首先,打开文件 /include/dedetag.class.php,找到大概在第680行的代码:

$phpcode = preg_replace("/'@me'|\\"@me\\"|@me/i", '$DedeMeValue', $phpcode);

将这段代码修改为:

if(is_array($this->CTags[$i]->TagValue))
{
    $phpcode = preg_replace("/'@me'|\\"@me\\"|@me/i", '$DedeMeValue', $phpcode);
}

通过这样的修改,可以有效解决因程序只输出一个字节而导致的中文乱码问题。

以上就是针对Dedecms CMS中 `name=array runphp` 静态生成乱码BUG的解决方案。希望这篇文章能帮助到正在为此问题困扰的开发者们。