我将包含城市名称的数组放入会话变量中。
数组示例: 圣特罗,QC Saint-Émile,QC Sainte-Adèle,QC Sainte-Agathe-des-Monts,QC
当我将此会话变量数组转换为javascript数组时
var availableTags = <?php echo json_encode($_SESSION['villeDB']) ?>;
现在这个数组看起来像这样: 圣特罗,QC 空值 空值 Sainte-Agathe-des-Monts,QC
如何在转换我的城市数组名称时保留特殊字符?
答案 0 :(得分:0)
json_encode
要求字符串以UTF8编码。
就个人而言,我喜欢用单字节字符集编程。一般来说,这不是一件令人头痛的问题。但在这种情况下,我有一个辅助函数:
function json_output($json) {
if( is_array($json))
array_walk_recursive($json,function(&$a) {if(is_string($a)) $a=utf8_encode($a);});
elseif( is_string($json))
$json = utf8_encode($json);
$j = json_encode($json,true);
return $j;
}