Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将会话变量转换为javascript变量时丢失特殊字符_Javascript_Php - Fatal编程技术网

将会话变量转换为javascript变量时丢失特殊字符

将会话变量转换为javascript变量时丢失特殊字符,javascript,php,Javascript,Php,我将包含城市名称的数组放入会话变量中 阵列示例: 圣泰特,QC 圣埃米尔,QC 圣阿德勒,QC 圣阿加泰德蒙茨,QC 当我将此会话变量数组转换为javascript数组时 var availableTags = <?php echo json_encode($_SESSION['villeDB']) ?>; var availableTags=; 现在阵列将如下所示: 圣泰特,QC 无效的 无效的 圣阿加泰德蒙茨,QC 转换城市名称数组时如何保留特殊字符?json\u encod

我将包含城市名称的数组放入会话变量中

阵列示例: 圣泰特,QC 圣埃米尔,QC 圣阿德勒,QC 圣阿加泰德蒙茨,QC

当我将此会话变量数组转换为javascript数组时

var availableTags = <?php echo json_encode($_SESSION['villeDB']) ?>;
var availableTags=;
现在阵列将如下所示: 圣泰特,QC 无效的 无效的 圣阿加泰德蒙茨,QC


转换城市名称数组时如何保留特殊字符?

json\u 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;
}

也试试这个<代码>var availableTags=