2010-09-15 7 views
0

J'ai le problème suivant.Problèmes de charset d'une page à l'autre

Sur une page avec un formulaire, user_report.php », tous les caractères comme « C » ou « A » sont

tous affichés correctement. Maintenant, lors de la présentation des données, quoi que ce soit avec ces personnages se est affiché/transféré à la deuxième page, "result.php", tout faux, par exemple:.? Restauração 'get comme transféré 'Restauraçà £ o'

tous les conseils

+2

Quel (s) jeu (s) de caractères les pages utilisent-elles? –

+0

Vous pouvez utiliser 'iconv (" input-encoding "," UTF-8 ", $ string)' pour convertir en unicode. – jcubic

+0

Malheureusement, j'ai déjà quitté le bureau aujourd'hui. Je répondrai demain avec plus. :) – elvispt

Répondre

0

Vous devez utiliser le même caractère HTML ensemble sur toutes vos pages Assurez-vous que vos deux pages ont:

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <!-- all of your other head tags go here, after the charset is specified --> 
</head> 

Les données soumises dans le formulaire seront dans n'importe quel jeu de caractères spécifié dans l'étiquette. Si ce jeu de caractères ne correspond pas à celui utilisé sur la deuxième page, alors vous aurez le bug que vous avez décrit.

Si vous ne spécifiez aucun jeu de caractères, le navigateur essaiera de deviner et souvent il devinera faux.

Peu importe le jeu de caractères que vous utilisez, tant que les deux pages utilisent le même jeu de caractères. Mais utf-8 est généralement le meilleur choix. PS: il y a quelques autres choses qui peuvent causer le bogue que vous avez, mais ce que je viens de répondre est la solution la plus courante. Si cela ne fonctionne pas, veuillez publier le code que vous utilisez pour récupérer le contenu de la base de données et l'envoyer au navigateur.