如何将外来字符(例如æ;)从PHP数组传递到javascript数组


How can I pass foreign characters (e.g. æ) to a javascript array from a PHP array?

我有一个文件路径数组,它存储在一个名为$files的PHP数组中,我想使用以下命令将其传递给javascript数组:

 var files = <?php echo json_encode($files)?>;

这很好,但它不会传递任何具有特殊字符的值,例如包含"æ"的值。相反,Javascript中的值显示为null。有没有其他方法可以保存这些字符?这些值都是文件路径,似乎是使用json_encode传递的OK,只是不是这些特殊字符。

我已经解决了这个问题。我基本上是用url_encode运行数组,然后用JSON来解释它。

$filesEncoded = array();
foreach ($files as $f) {
    array_push($filesEncoded,urlencode($f));
}
<script>
    var files = <?php echo json_encode($filesEncoded)?>;
</script>