0

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

$lang['描述'] = '照片';
$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']='区域';
$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。这就是为什么你已经看到我用 "" 包围了这个变量。它与带有 "qu'une" 的变量 Viewkalender0 完美配合。??有人有线索吗?? Cookie 没有设置顺便说一句。一旦我删除',文本就会出现。

祝你有美好的一天,约翰

4

1 回答 1

1

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

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'] ?>`;
于 2017-11-13T00:05:54.730 回答