分配数组会导致某些数据出现语法错误

时间:2017-05-12 22:48:38

标签: javascript php mysql arrays

我正在编写一个脚本,使用youtube api搜索视频并在数据库中存储有关其中一些的详细信息。 我使用javascript获取数据,然后使用php将其存储在mysql数据库中。

大部分时间它工作正常,但是当我将数据分配给此行的javascript数组时,某些字符似乎会导致语法错误:

var videoList = <?=$videoList; ?>;

特别是当我分配它时,而不是在我使用它时,我已经尝试在分配后立即重置数组,但仍然会导致错误。

我发现其中一个似乎导致错误的字符串是这样的:(我知道这行之前导致了问题,因为当我手动删除它时它开始工作)

Hoppas ni mÃ¥r jätte bra idag â¤ï¸undrar om ni vill att jag ska göra en annan video sÃ¥ fÃ¥r ni jätte Järna kommentera deâ

我在数据库中使用“utf8mb4_unicode_520_ci”,在我的网站上使用charset =“UTF-8”。我不确定是不是因为charset或某些字符无法处理,也许我需要转换具有某些功能的字符。

知道如何解决它吗?

更新

我确实喜欢Dan Miller建议并且根本不起作用。

我也尝试过Adrianopolis的建议。我更改了表和列的排序规则,并且已经在标题中设置了字符集。更改整理后仍会导致问题。

1 个答案:

答案 0 :(得分:1)

假设您使用的是MB4? 将你的cols从utf8mb4_unicode_520_ci更改为utf8mb4_general_ci,当然要确保标题中包含<meta charset="utf-8">元标记。这适用于所有情况。