VERSION BRÈVE QUESTION: Donc, fondamentalement, ma question est la suivante: Comment puis-je régler le javascript pour utiliser UTF-8 de sorte que Ë Ì ö sont pris en charge, donc mon javascript peut ajouter les valeurs correctes aux options de liste déroulante?javascript et utf-8/caractères spéciaux aident
PLUS D'EXPLICATION: Im en utilisant javascript pour remplir 'options' dans une liste déroulante sur ma page principale. Les listes déroulantes sont sous une forme qui appelle un script php, qui interroge une base de données mysql.
Le problème est, Im en utilisant des caractères spéciaux tels que å ä ö dans ma base de données mysql. Et quand je fais une recherche de la base de données MySQL comme ceci:
SELECT * FROM database WHERE city = $city
il ne marche pas trouver quoi que ce soit.
Ceci parce que $ city contient des caractères spéciaux définis par le javascript. Mais si définissant la variable $ city sans javascript, par exemple dans mon document html avec
option value=åäö
il fonctionnera. Cela signifie que le javascript est le problème, et il place les caractères spéciaux à quelque chose d'autre à la place, ce qui fait que la requête ne trouve rien.
javascript qui renseigne ma liste déroulante:
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);
}
MON HTML PRINCIPALES UTILISATIONS DOCUMENT: ISO 8859-1
Quand echo "ÅÄÖ" cela fonctionne dans mon code PHP. MAIS QUAND LA VARIABLE DE Faisant écho à LA JAVASCRIPT AAO EST REMPLACE PAR LES SYMBOLES WEIRD
Le problème est de savoir comment vous transférez du javascript vers le serveur, très probablement. En utilisant firebug pouvez-vous montrer ce que vous envoyez au serveur dans votre demande?Et qu'est-ce que ça devrait être? –
Je pense aussi, mais j'ai sauvegardé le fichier .js au format utf-8 ... Le serveur est dans le bon format, mais quoi que je fasse, je ne peux pas obtenir le fichier js d'être dans le même format .. Quand j'écris des caractères spéciaux, je passe à autre chose du fichier js. Je n'ai pas de firebug. –
Montrez-nous le code qui remplit votre liste déroulante –