Utf8_decode en javascript

WRInaute passionné
merci mais comment on l'utilise ? je ne vois pas de fonction !

je ne vois pas trop la syntaxe : ut8.decode(string) ???
 
WRInaute accro
C'est pas moi qu'il faut remercier, c'est kazhar.

Mais moi je ferais tout ça côté serveur, ça me paraît tellement plus sain...

Jacques.
 
WRInaute accro
J'ai eu le même problème avec site en ISO et requêtes AJAX qui se font en UTF8.
J'ai réglé le problème au niveau du serveur avec cette fonction PHP à appliquer à tous les textes renvoyés en AJAX:

Code:
function convertIso8859ToUtf8($string){
	if(function_exists('mb_convert_encoding')){
		return mb_convert_encoding($string, "UTF-8", "ISO-8859-1");
	}
	elseif(function_exists('iconv')){
		return iconv("ISO-8859-1","UTF-8",$string);
	}
	else{
		die("mb_convert_encoding or iconv lib isn't available");
	}
}
 
WRInaute accro
rudddy a dit:
que proposes tu ? et pourquoi ce serai plus sain ?

Ben des utf_decode/encode dans les scripts php qui vont bien (ceux qui sont appelés par les scripts JS de ta page). Une règle d'or avec le JS: si tu peux éviter de le faire côté client, évite. C'est déjà assez lourd de débugger quelque chose quand tu as le contrôle de l'environnement (ton serveur, ton client de test), mais en JS tu as tellement d'environnements différents que tu découvres toujours un jour ou un autre un truc qui ne marche pas sur telle ou telle version de tel ou tel browser dès que tu sors des sentiers battus (et encore! il y a des trucs top basiques qui ne marchent pas du tout pareil d'un browser à l'autre).

En plus j'ai tendance à penser que ça t'obligerait à faire des modifs dans JQuery, ce qui complique ensuite les upgrades, etc.

Et pour finir ici tu as une solution avec des fonctions connues et reconnues côté serveur, pourquoi aller chercher la petite bête côté client?

Mais ce n'est que mon avis...

Jacques.
 
Nouveau WRInaute
De l'eau a coulé sous les ponts depuid 2007....
Voici ma modeste participation....
Même si la reponse de SPOUT est validée comme bonne,

Voici une autre méthode très simple également se passant coté serveur,

il suffit de faire :

- Un utf8_decode( Data_to_inject_SQL ) sur les $_POST[] ou $_GET[] provenant du transfert Ajax avant injection SQL
ET
- Un utf8_encode( Data_from_SQL ) sur ces données provenant de la base SQL avant transfert Ajax vers l'utilisateur
 
Discussions similaires
Haut