META charset=... Possibilité de mettre du JS dedans ? - HTML/CSS - Programmation
Marsh Posté le 25-02-2003 à 15:40:40
recuperer le Accept-Language ou autre header du genre coté serveur, ca peut le faire
Marsh Posté le 25-02-2003 à 15:41:16
heu le meta machin il doit dire en quoi est le contenu de la page, pas en quoi l'utilisateur affiche les pages par défaut... si tu veux prendre l'encodage par défaut ne met pas de meta
ou alors j'ai pas capté ce que tu voulais
Marsh Posté le 25-02-2003 à 15:45:47
lorill : vi, j'y avais pensé aussi mais je ne crois pas avoir les méthodes qui conviennent pour récupérer ce genre d'infos. Disons que le contexte est très particulier et ne correspond pas à ce que chacun a l'habitude de voir Mais je cherche aussi dans cette direction.
antp : bin en fait, imagine que j'ai des caractères japonais sur ma page et que mon charset dans mon meta c'est UTF-8. Bin y a aucune chance que ça s'affiche correctement dans le browser du gars, donc c'est pour ça que je veux mettre un charset="EUC-JP" ou autre joyeuseté du même tonneau.
Marsh Posté le 25-02-2003 à 15:47:40
Taiche a écrit : Bonjour les jeunes, |
C'est quand même fait pour ça unicode, mais c'est vrai que pour ces langues là ça prend de la place.
Taiche a écrit : D'où ma question : je pense récupérer le langage via JavaScript avec navigator.language ou clientInformation.userLanguage (suivant le brozeure Ouaibe), mais est-il possible d'appeler cette fonction JS depuis ma balise meta ? Genre <meta charset="javascript: getCharset();"> ou un truc du style ? |
Ca sera pas aussi simple.
Il faudra, à l'endroit de ta balise <meta>, Ecrire une fonction JS (donc entre <script type="text/javascrip"> ... </script> ) qui écrira la bonne balise (avec un document.write(...); )
Taiche a écrit : Sinon, voyez-vous ou connaissez-vous une méthode plus simple pour arriver à faire ce que je veux ? |
Cette méthode n'est pas compliquée. Sinon il y a toujours document.characterSet mais je ne sais pas si on peut le modifier à la volée. Et quoiqu'il en soit ça ne dispense pas d'écrire la balise <meta> qui est obligatoire.
Marsh Posté le 25-02-2003 à 15:49:35
HotShot a écrit : Utilise plutôt les headers HTTP pour tenter de déterminer le langage du client, ca sera toujours plus fiable que du JS... et pense de toute façon à fournir un lien vers la version jap... |
Bin j'pensais qu'il se basait sur le provider J'vais te surprendre : mon OS est anglais, dans Internet Options -> Tools -> Languages j'ai English UK et Japonais mais pas de Français ; donc je pense que le header HTTP ne va pas essayer le Français. Pourtant, google.com me redirige sur google.fr
Marsh Posté le 25-02-2003 à 15:50:04
Oué une solution coté serveur est bien plus robuste bien entendu.
Marsh Posté le 25-02-2003 à 15:52:37
HotShot a écrit : |
Non, c'est surtout le mécanisme que j'utilise côté serveur. C'est du CGI C/C++ mais propriétaire sinon c'est pas drôle
gm : oui, c'est pile poil ce que je veux, mais la fonction JS qui génère la balise meta, je l'appelle quand ?
Marsh Posté le 25-02-2003 à 16:02:18
HotShot a écrit : |
Bin surtout, je sais pas comment google me redirige sur le fr alors que rien sur ma machine ne le spécifie
Marsh Posté le 25-02-2003 à 16:06:27
gm_superstar a écrit : |
Juste pour dire que je crois que document.charset ne marche que sous IE Et bien entendu, ma page doit aussi s'afficher sous Netscape 4
Marsh Posté le 25-02-2003 à 16:10:15
Taiche a écrit : gm : oui, c'est pile poil ce que je veux, mais la fonction JS qui génère la balise meta, je l'appelle quand ? |
En fait tu n'as pas besoin de fonction. Si tu écris tes instruction entre tes balises <script> directement elles seront exécutées dans l'ordre de chargement de la page.
document.characterSet est reconnu par Mozilla aussi, mais je crois que c'est en lecture seulement.
Marsh Posté le 25-02-2003 à 16:13:45
OK, bon ba j'vais tenter ça. Merci beaucoup à tous
Marsh Posté le 25-02-2003 à 16:14:55
Taiche a écrit : Bin surtout, je sais pas comment google me redirige sur le fr alors que rien sur ma machine ne le spécifie |
Il fait peut être une résolution sur le nom de dommaine Si .fr -> google.fr
Marsh Posté le 25-02-2003 à 16:50:12
Taiche a écrit : |
Bah oui mais c'est le serveur qui sait ce qu'il envoie.
si moi je dois afficher ta page en japonais et que tu me la balance avec un ISO9881 je sais pas quoi là, je verrai pas ce qu'il faut j'imagine...
Je comprends pas pourquoi le choix de l'encodage devrait dépendre des préférences du client plutôt que du contenu de la page
Marsh Posté le 25-02-2003 à 22:56:30
Nan mais en fait la page est générée dynamiquement. C'que je veux, c'est savoir à qui je parle. En fonction de ça, j'en déduis le contenu à envoyer et le charset à mettre dans le meta. Vala. C'est vrai que d'après ce que je dis au début, on peut avoir tendance à croire que j'écris une page en Japonais mais que je sais pas quel charset prendre
Désolé de pas avoir été clair là-dessus.
Marsh Posté le 25-02-2003 à 23:06:25
HotShot a écrit : Du moment que t'as qqpart un lien visible qui pointe vers les différentes langues, le visiteur (qui est censé avoir un Q.I. minimum ) y trouvera son compte... |
Ouais mais là le cadre d'application et l'environnement est assez différent d'un site Web type Google ou autre. T'inquiète pas, j'ai maintenant ce qu'il me faut Je sais que c'est pas optimisé mais euh... faut voir les moyens du bord aussi
Marsh Posté le 25-02-2003 à 23:11:45
HotShot a écrit : Si t'avais commencé par nous dire le but de tout ça (le public visé, si c pour un intranet ou autre) ça aurait été plus simple |
Mon deuxième post dans le topic :
Citation : Disons que le contexte est très particulier et ne correspond pas à ce que chacun a l'habitude de voir |
Nan mais c'est sûr que j'ai pas été très clair. En gros, c'qu'il faut savoir, c'est que j'ai peu de moyens et que je dois répondre aux demandes des clients pour maintenir une grosse appli mal pensée et mal implémentée
Marsh Posté le 25-02-2003 à 15:37:54
Bonjour les jeunes,
Alors vala, j'ai un pitit souci pour l'internationalisation de ma page. Dans le head, je fous une balise meta dans laquelle je précise le charset. Pour l'instant, c'est de l'UTF-8 mais je voudrais aussi que ça soit lisible par des Japonais ou des Chinois. Le contenu est généré dynamiquement donc pas de souci, mais l'écriture de caractères japonais/chinois en charset UTF-8 bin c'est pas top
D'où ma question : je pense récupérer le langage via JavaScript avec navigator.language ou clientInformation.userLanguage (suivant le brozeure Ouaibe), mais est-il possible d'appeler cette fonction JS depuis ma balise meta ? Genre <meta charset="javascript: getCharset();"> ou un truc du style ?
Sinon, voyez-vous ou connaissez-vous une méthode plus simple pour arriver à faire ce que je veux ?
Merci d'avance !
---------------
Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient.