caratcère bizarre à la place des apostrophes, des points, etc - PHP - Programmation
Marsh Posté le 26-10-2010 à 23:18:00
code de caractère différent entre la base de données(latin1) et la page(UTF-8)
vu que tu utilise le htmlspecialchars pour les accent, rajoute l'option qui permet aussi de coder les apostrophes et guillemet.
Code :
|
Marsh Posté le 26-10-2010 à 23:25:04
J'ai testé et cela ne fonctionne pas.
Code :
|
Marsh Posté le 27-10-2010 à 01:16:48
Ca vient de jquery je pense.
Tu fais tes appels en ajax si j'ai bien compris.
L'astuce c'est de forcer un header charset + encoder la page comme il faut.
Tu peux choisir le charset que tu veux, l'important, c'est que ce soit le même partout !
Marsh Posté le 27-10-2010 à 11:39:22
ReplyMarsh Posté le 27-10-2010 à 13:39:00
htmlentities mais avec le parametre ENT_QUOTES
ceux qui donne
Code :
|
Edit :
attention au injection SQL, $_GET['id'] n'est pas contrôlé
Marsh Posté le 27-10-2010 à 20:44:29
quaresma a écrit : Aurais-tu un exemple pour me comprendre s'il te plait ?? |
Et bien, mettons que tu choisis de tout faire en UTF-8.
Ton fichier php devra débuter ainsi :
Code : |
De plus, ton fichier .php doit être encodé en UTF-8 lui-même.
Sur notepad++ : Encodage > Convertir en UTF-8 (Sans BOM)
De plus, il faut aussi que ta base SQL, tes champs, et les valeurs dedans soient en UTF-8 !
Enfin bref, l'idée c'est de tout harmoniser.
Si des programmes qui interviennent sur une même page (javascript, php, sql) ne renvoient pas le même encodage, ca crée souvent un paquet de merdes...
Marsh Posté le 27-10-2010 à 21:45:54
stealth35 a écrit : c'est un copier coller de word ? |
Non un copier-coller d'un site internet pour faire un test.
Pascal le nain a écrit :
|
Voici mon code :
Code :
|
Malheureusement, maintenant les ' sont carrément enlevés du texte.
Je ne trouve pas la solution
Marsh Posté le 27-10-2010 à 22:21:14
J'avais eu soucis similaire. Je l'ai résolu en changeant le type d'encodage à la sauvegarde du fichier !
As-tu sauver ton fichier comme il faut ?
Marsh Posté le 27-10-2010 à 22:57:17
Citation : code de caractère différent entre la base de données(latin1) et la page(UTF-8) |
alors il ne reste que ça !!
Marsh Posté le 28-10-2010 à 02:52:33
ouai pour refaire un utf8_encode ? c'est pas de l'utf-8 a la base ?
htmlentities attend de l'iso en plus, il faut lui passer la paramètre de charset pour qu'il fasse les entités pour l'utf-8
Marsh Posté le 28-10-2010 à 14:26:35
ReplyMarsh Posté le 28-10-2010 à 20:54:45
quaresma a écrit : C'est bon j'ai modifié avec notepad++ et le problème est résolu (à priori) |
modifié quoi ?
Marsh Posté le 28-10-2010 à 21:22:44
à mon avis il a du (re)sauvegarder les fichiers en UTF8 sans BOM
Marsh Posté le 28-10-2010 à 21:27:47
en changeant le type d'encodage en UTF8 sans BOM.
Puis d'autres fonctions, voici le code :
Code :
|
Marsh Posté le 29-10-2010 à 14:01:30
pourquoi stripslashes ? tu peux aussi faire direct fetch_assoc, et faut aussi protégé ta valeur $idc
Marsh Posté le 29-10-2010 à 14:05:58
Mais si cela fonctionne comme j'ai fait, c'est bon non ??
Merci et bonne journée
Marsh Posté le 31-10-2010 à 17:32:27
$idc = $_GET['id'];
en
$idc = intval($_GET['id']);
sinon un petit malin pourra faire ce qu'il veut de ton site (car la tu autorises tout a s'executer dans la requete meme des commandes)
Marsh Posté le 31-10-2010 à 22:18:46
ravenX11 a écrit : $idc = $_GET['id']; |
Comment ça ??
Marsh Posté le 01-11-2010 à 14:43:35
si on remplace manuellement dans l'URL id=5 par id=DELETE FROM table WHERE id > 0 ça te vide la table
renseigne-toi sur les injections SQL.
Marsh Posté le 01-11-2010 à 18:42:55
NewsletTux a écrit : si on remplace manuellement dans l'URL id=5 par id=DELETE FROM table WHERE id > 0 ça te vide la table |
whaou c'est chaud ça. Comment faire pour y remédier ??
Marsh Posté le 01-11-2010 à 19:01:06
Utilise intval(), comme ravenX11 te l'a dit.
intval convertira la chaine en entier. Or un entier ne peux jamais faire de mal
Marsh Posté le 26-10-2010 à 23:11:18
Bonjour à toutes et tous,
Je suis en train de faire un site internet : http://www.la-grange-sardieres.fr/ [...] on2css.php
Si vous allez sur le lien du site, dans le premier menu, si vous cliquez sur "théâtre" et ensuite sur "399 secondes" vous pouvez voir apparaitre dans la fenêtre de droite un texte avec un caractère bizarre : �, à la place des apostrophes, des points , etc.
Savez-vous d'où cela pourrait venir ?? J'utilise la police Garamond pour information, mais avec l'Arial c'est pareil.
Auriez-vous une solution pour y remédier ??
Merci beaucoup pour vos réponses et bonne soirée