变量中的法语“'”会阻止其显示

French " ' " in variable blocks its presentation

法语中的模糊语言问题。 我正在建立一个有 5 种语言的网站。我已经安装了法语文件,其中包括使用 PHP

$lang['Description'] = 'Photos';
$lang['cookie']= "En utilisant notre site Web, vous acceptez que nous utilisions des cookies pour stocker des informations temporaires concernant votre utilisation. Cette information ne sera jamais utilisée à d autres fins!";
$lang['regio']='Region';
$lang['Viewkalender0'] = "Vous avez une réservation en cours qui doit être traitée avant qu'une réservation ultérieure puisse avoir lieu.";

我用 JS 请求这些变量 函数 checkCookie() {

var regular=getCookie("Homecheznous-Roullens");
if (regular=="Accepted") {
    document.getElementById('cookie').innerHTML=regular;
} else {
   var x= '<?php echo $lang['cookie'] ?>';
   document.getElementById('cookie').innerHTML=x;
   }
}

我可以毫无问题地切换语言,获得正确的内容。但是,只要我在 "d'autres" 中更正法语,只添加“'”,法语内容就不会显示。语言文件中的所有其他内容仍然出现,因此语言文件仍然被接受,而且在文件中我经常使用 ' 没有问题。我知道 PHP JS 等“或 ' 或 vv.That 的敏感性,这就是为什么你已经看到我用“”包围了这个变量。它与变量 Viewkalender0 和 [=21 一起完美工作=]。??有人有线索吗?顺便说一句,Cookie 未设置。一旦我删除 ',文本就会显示出来。

祝你有愉快的一天,约翰

我认为问题出在你的变量声明中

var x= '<?php echo $lang['cookie'] ?>';

所以这被服务器端替换为例如

var x= 'qu'une';

所以 x 没有得到正确的文本是正常的。

求助 1 : 使用 \

转义 ' 符号
qu'une  should be qu\'une 

解决方案 2:

尝试改变

var x = "<?php echo $lang['cookie'] ?>";

或使用 escma6

var x = `<?php echo $lang['cookie'] ?>`;