gpt4 book ai didi

php - javascript 和 utf-8/特殊字符帮助

转载 作者:行者123 更新时间:2023-11-28 10:35:11 25 4
gpt4 key购买 nike

问题的简短版本:所以基本上我的问题是:如何将 javascript 设置为使用 UTF-8 以便支持 å ä ö,以便我的 javascript 可以将正确的值添加到下拉列表选项中?

更长的解释:我使用 javascript 来填充主页上下拉列表中的“选项”。下拉列表采用调用 php 脚本的形式,该脚本查询 mysql 数据库。

问题是,我在 mysql 数据库中使用了特殊字符,例如 å ä ö。当我像这样查询 mysql 数据库时:

    SELECT * FROM database WHERE city = $city

它没有找到任何东西。

这是因为 $city 包含由 javascript 设置的特殊字符。但是如果在没有 JavaScript 的情况下设置 $city 变量,例如在我的 html 文档中使用

      option value=åäö

然后就可以了。这意味着 javascript 是问题所在,它将特殊字符设置为其他字符,这使得查询找不到任何内容。

填充我的下拉列表的 JavaScript:

                    if(document.nav_form_main.nav_city_list.value == '4'){
removeAllOptions(document.nav_form_main.nav_city_list);
addOption(document.nav_form_main.nav_city_list, "Göteborg", "Göteborg", "");
addOption(document.nav_form_main.nav_city_list, "goteborg_closeby", "Angränsande områden", "");
addOption(document.nav_form_main.nav_city_list, "1", "Hela Sverige", "");
addOption(document.nav_form_main.nav_city_list, "other_area", "-- Välj område på nytt --", "");
}
function removeAllOptions(selectbox)
{
var i;
for(i=selectbox.options.length-1;i>=0;i--)
{
//selectbox.options.remove(i);
selectbox.remove(i);
}
}


function addOption(selectbox, value, text )
{
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;

selectbox.options.add(optn);
}

我的 HTML 主要文档使用:ISO 8859-1

当回显“ÅäÖ”时,它在我的 PHP 代码中起作用。但是,当从 JavaScript 中回显变量时,ÅäÖ 被奇怪的符号取代

最佳答案

这是我解决这个问题的方法:

document.getElementById("somewhere").innerHTML="mytext";
myoption = document.createElement("option");
myoption.value="myvalue";
myoption.text=document.getElementById("somewhere").innerHTML;
myselect.add(myoption,null);

“某处”是页面中未使用的、隐藏的或特殊创建的元素。

当 javascript 从innerHTML 读取时,您会得到正确的字符。

关于php - javascript 和 utf-8/特殊字符帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1632337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com