Afficher caractères spéciaux

t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -  
niconovice Messages postés 953 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à pouvoir afficher des caractères spéciaux après l'enregistrement dans la base.
Exemple : j'upload un fichier image ayant comme nom vh'qaxàéÀÁÂÃÄÅ.jpg. L'enregistrement dans la base se fait bien sous le même nom. Mais quand je veux afficher cette image, avec ou sans son nom,celle-ci ne s'affiche pas à cause des caractères spéciaux dans le nom.

Comment puis-je faire ?

Merci
A voir également:

6 réponses

hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Problème d'encodage ça ;)

T'as deux encodage possible :
-UTF-8 (format UNIX, que je ne cesse de conseillé car il passe tout les caractères spéciaux)
-ISO815-1 (format windows)

Quoi qu'il en soit, une fois que tu as choisit l'un des deux (et dans ton cas, si tu as vraiment plein de caractères spéciaux je te conseille vraime UTF-8), tu doit tout mettre dans ce format, a savoir :
-Quand tu enregistre tes pages wbe, assures-toi qu'elles sont en UTF-8
-Vérifie dans tes meta tag que celui définissant le type d'encodage soit en UTF-8
-Vérifie que ta base de donnée soit en UTF-8
-Vérifie que ta table soit en UTF-8
-Vérifie enfin que tes script PHP le soit (tu peux utiliser pour ça des header).

Plus d'explication ici : https://j-willette.developpez.com/tutoriels/web/encoder-son-site-en-utf8/

En espérant t'avoir aidé ;)
2
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Holaaaaa !!! Ca me parait bien compliqué tout ça .......

Dans ma base, les noms sont enregistrés avec les caractères spéciaux. Il me faut juste la méthode pour les sortir et les afficher avec ces caractères !
0
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Et bien c'est ce que je te dis donc... Tu dois veillé a ce que tes pages soit encodées pareil que ta BDD, et que tu est les bons meta-tags...
0
niconovice Messages postés 953 Date d'inscription   Statut Membre Dernière intervention   86
 
Salut,

Cherche le ligne et la valeur de "charset=******" dans chacune de tes pages et change pour "charset=ISO-8859-15" et avec ça plus de problème :))

un conseil si tu as beaucoup de pages utilise la recherche de notepad++ et remplace le tout avec. 5 clics et hop ton site est opérationnel :))
0
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Vive l'ISO =_= encore quelqu'un qui ne connait pas la puissance d'UTF-8...
0
niconovice Messages postés 953 Date d'inscription   Statut Membre Dernière intervention   86
 
0
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Oui donc c'est bien ce qui est dit : de manière générale, l'UTF-8 est un excellent moyen qui n'apport aucune difficulté autre que vouloir encodé ainsi (et quelques fonctions php effectivement, mais la comunauté php bosse déja depuis la version 4.0 de php -voir avant- sur le "PB" de utf-8).
Bref, à quand l'UTF-8 en codage unique, ça serait tellement plus simple et tellement mieux...
0
niconovice Messages postés 953 Date d'inscription   Statut Membre Dernière intervention   86
 
Je site:

"S'il y avait "une" bonne solution ça se saurait. Dans l'idéal je dirai que l'UTF8 est "la" solution. Maintenant ça pose aussi des problèmes pratiques :
- en PHP (par exemple) le résultat d'un bête strlen() sera faussé et pour avoir un résultat cohérent il faudra utiliser le module mbstring qui n'est pas fréquement présent. Dans bien d'autres langages le problème est le même
- en Mysql (toujours par exemple), l'UTF8 n'est pas officiellement supporté avant la version 4.1 qui vient de sortir et qui n'est pas chez les hébergeurs, pour gérer avec les anciennes versions il faut bidouiller les contraintes de taille
- quand on envoit ou on reçoit des données il faut faire attention que le logiciel ou le serveur en face connait la problématique des codages caractères et comprend bien qu'on lui envoie de l'UTF8 (ou alors faire une conversion), en ISO-8859-1 on n'a pas se problème vu que c'est le codage "par défaut" de quasi tous les protocoles réseaux"

moi par exemple j'ai déjà eu pas mal de soucis avec l'utf-8 alors qu'avec ISO-8859-15 jamais rapport à PHP comme expliqué au dessus ou MySql.

Donc je préfère toujours coder en ISO-8859-15 comme ça, jamais de problème ! :))
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
J'ai essayé en codant en utf8 (voir encart + bas, et en charset=ISO-8859-15, mais c'est pareil ....
Pourquoi ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Dans mes fichiers html, j'ai rajouté <meta http-equiv="content-type" content="text/html; charset=utf-8" /> en suivant le lien de hack_net le 16/08 à 19:31.
Pour la base de donnée, elle est en utf8-general-ci. Est-ce ok ????
J'ai une frame dans mon site où s'affiche des pages php. Dois-je rajouter le meta dans les pages php ? Car pour l'instant, ça ne fonctionne toujours pas .... !!!!???

J'ai essayé en codant en utf8 et en charset=ISO-8859-15, mais c'est pareil ....
Pourquoi ?
0
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
0
niconovice Messages postés 953 Date d'inscription   Statut Membre Dernière intervention   86
 
+1
0