我的php界面在添加东西时添加界面不能正常添加,据估计可能与json不能在GB2312编码格式上运行有关。
求高手这个怎么解决,下面是json部分的代码,除了这个地方还需要改哪些地方?js文件?
public function get_json_roles()
{
$roles = $this->db->get("role")->result();
/*
role = [
{
id : 0,
name : '角色名',
resources :[
{
name:'bxsheet',
chinesename:'报修单'
}
]
}
];
*/
$json_roles = "roles = ["; foreach($roles as $role)
{
$json_roles .= "{id:$role->id,name:'$role->name',resources :[{name:'welcome',chinesename:'欢迎界面'},"; $sql = "SELECT res.id as id,res.name as name,res.chinesename AS chinesename FROM permission p
LEFT JOIN resource res ON p.resource_id = res.id
LEFT JOIN role r ON p.role_id = r.id
WHERE p.actionname = 'index' and r.id=" . $role->id;
$results = $this->db->query($sql)->result();
foreach($results as $result)
{
$json_roles .= "{name:'$result->name',chinesename:'$result->chinesename'},";
}
$json_roles = trim($json_roles,",")."]";
$json_roles .= "},";
}
$json_roles = trim($json_roles,",")."];";
return $json_roles;
}JSON界面编码
求高手这个怎么解决,下面是json部分的代码,除了这个地方还需要改哪些地方?js文件?
public function get_json_roles()
{
$roles = $this->db->get("role")->result();
/*
role = [
{
id : 0,
name : '角色名',
resources :[
{
name:'bxsheet',
chinesename:'报修单'
}
]
}
];
*/
$json_roles = "roles = ["; foreach($roles as $role)
{
$json_roles .= "{id:$role->id,name:'$role->name',resources :[{name:'welcome',chinesename:'欢迎界面'},"; $sql = "SELECT res.id as id,res.name as name,res.chinesename AS chinesename FROM permission p
LEFT JOIN resource res ON p.resource_id = res.id
LEFT JOIN role r ON p.role_id = r.id
WHERE p.actionname = 'index' and r.id=" . $role->id;
$results = $this->db->query($sql)->result();
foreach($results as $result)
{
$json_roles .= "{name:'$result->name',chinesename:'$result->chinesename'},";
}
$json_roles = trim($json_roles,",")."]";
$json_roles .= "},";
}
$json_roles = trim($json_roles,",")."];";
return $json_roles;
}JSON界面编码
只有 php 的 json_encode、json_decode 才只认 utf-8 编码
2、既然你的程序是 gbk 的,那么就该有字符集声明
header('Content-type: text/html;charset=GBK');