Question

J'utilise jquery $ .getJSON pour récupérer la liste des villes.

Tout fonctionne très bien, mais je suis de l'Estonie et nous utilisons des personnages comme ö, ü. ä, ö.

Quand je passe des lettres comme celle-ci callback fonction, je continue à obtenir des chaînes vides. J'ai essayé de chaînes encode base64 (côté serveur) -decode (jquery plugin base64) (je pensais que ce serait une bonne idée aussi longtemps que je peux compresser les pages avec php, donc je n'ai pas à vous soucier de la bande passante), mais de cette façon je me retrouve avec des symboles chinois aléatoires.

Quelle serait la meilleure solution pour ce problème.

Merci.

Était-ce utile?

La solution

Vous devez utf8_encode() vos données de sortie. Il n'y a pas besoin de définir l'encodage du côté client en UTF-8 comme il est déjà par défaut.

<?php
    if( isset( $_GET['json'] ) ) {

        die( json_encode( array( 'text' => utf8_encode( 'õ, ü. ä, ö' ) ) ) );
    }

    include_jquery(); # this outputs jquery include
>?

<script>

    $.getJSON( 'this_file.php', { 'json': 1 }, function( data ) {
        console.log( 'data', data );
    });

</script>

Autres conseils

Vous devez vous assurer que vous gardez un codage de caractères cohérent. Les caractères estoniens que vous voulez sont utf-8, donc vous devez utiliser $.ajax et définir l'encodage char explicitement (via contentType).

Vous pouvez prendre le résultat ajax et le traiter.

Vous pouvez également utiliser ajaxSetup avant d'appeler getJSON pour définir le type de contenu.

http://api.jquery.com/jQuery.ajaxSetup/

Cela vous permettra d'utiliser getJSON

En outre, voici un pertinent poste afin du même sujet: Comment ensemble dans le codage .getJSON JQuery

Utilisation en vous UTF-8 pages php et que l'encodage de sortie

Cela ressemble à un codage / problème de charset: êtes-vous sûr que vous utilisez:

  • Le même charset partout dans votre application?
      base de données
    • fichiers source
    • En-têtes HTTP envoyés au navigateur
  • Un jeu de caractères qui prend en charge ces caractères?
    • i.e.. : Utilisez UTF-8 vous
    • Quel est le jeu de caractères Unicode qui est généralement utilisé pour l'application Web et prend en charge pratiquement tous les caractères, on peut penser à
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top