[PHP/MySQL] Blob et accents ?

Fermé
Sethpolma Messages postés 66 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 8 mars 2007 - 17 déc. 2006 à 13:34
 MYSQL - 19 janv. 2007 à 19:26
Bonjour à toute la communauté CCM !

J'ai besoin d'un petit coup de main. Etant peu habitué à travailler avec des champs de type Blob, je me cogne à un problème d'encodage, très probablement.

Dans le cadre d'un stage, j'utilise un CMS (Spip, pour ceux qui connaissent). Et là, je dois effectuer une requête pour afficher du texte contenu dans un champ Blob (texte). Je ne peux pas passer par Spip, car cela se passe dans une appli externe.

Voici ma requête :
$sql = 'SELECT texte FROM spip.spip_breves';


Le texte s'affiche, mais de la façon suivante :

[...] récupération du matériel informatique [...]

Si quelqu'un a la solution, je suis preneur !

Merci !
A voir également:

1 réponse

Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
17 déc. 2006 à 14:32
Problème d'encodage.
Regarde l'encodage de ta table et utilises iso, ou enregistres les données avec des entités html à la place des caractères spéciaux.
Tu peux faire un htmlentities() sur tes variables avant de les afficher, ca devrait régler le problème.
(A moins que ca ne soit déjà chamboulé dans la base).
0
Sethpolma Messages postés 66 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 8 mars 2007 15
17 déc. 2006 à 16:28
Le problème justement, c'est que dans la base, tout est déjà enregistré avec des htmlentities... Tant qu'à la solution d'enregistrement des données avec les entités HTML, c'est à oublier. Cela impliquerait la modification du code dans la partie administration, ce qui sera détruit lors de la prochaine mise à jour...

Quelle idée ont eu mes employeurs de vouloir SPIP à tout prix ! :-o

Sinon, je vais essayer de jouer avec l'encodage de la table. Je sens que c'est pas gagné cette histoire ! :(
0
MYSQL > Sethpolma Messages postés 66 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 8 mars 2007
19 janv. 2007 à 19:26
Sous MySQL, les données stockées au format BLOB le sont en binaire. Normalement, de tels champs sont utilisés pour stocker de gros documents (style images, pdf...). Ces données ne doivent pas être altérées, d'où le stockage binaire. Pour recouvrer les accents, vous êtes obligés d'extraire le data et de le reconvertir en char.
0