javascript - 法语 "'“在变量中阻止其呈现

标签 javascript php include character french

法语含糊的语言问题。 我正在建立一个有 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 等。这就是为什么你已经看到我用“”包围这个变量。它与带有“qu'une”的变量 Viewkalender0 完美配合。??有人有线索吗?顺便说一句,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'] ?>`;

关于javascript - 法语 "'“在变量中阻止其呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47255349/

相关文章:

jsf-2 - 将支持 bean 作为参数传递给 Facelet 包括

PHP5 : How come an included function always echoes first if I call it?

javascript - 使用 Node.js 读取 Json 文件

javascript - Rails & JQuery : Invalid association. 确保 Accepts_nested_attributes_for 用于

php - 有月份和年份但没有日期的日历

PHP。为什么会有不同类别的异常(exception)情况?例如 : PDOException vs Exception?

javascript - 字符串化时间戳对象

javascript - OnClientClick OnClick

php - 将连接 MYSQL 的动态 PHP 站点转换为 CMS 的简便方法?

c - 警告 : Implicit declaration error