Lost carriage return from SQL
Résolu/Fermé
danmon
Messages postés
7
Date d'inscription
dimanche 20 avril 2008
Statut
Membre
Dernière intervention
9 octobre 2008
-
4 juin 2008 à 18:30
danmon Messages postés 7 Date d'inscription dimanche 20 avril 2008 Statut Membre Dernière intervention 9 octobre 2008 - 5 juin 2008 à 11:10
danmon Messages postés 7 Date d'inscription dimanche 20 avril 2008 Statut Membre Dernière intervention 9 octobre 2008 - 5 juin 2008 à 11:10
A voir également:
- Lost carriage return from SQL
- Win setup from usb - Télécharger - Utilitaires
- Blob sql ✓ - Forum Webmastering
- Attempting boot from usb device - Forum Windows 10
- Work from home avis - Forum Vos droits sur internet
- Lost and delirious streaming vf - Forum Cinéma / Télé
1 réponse
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
4 juin 2008 à 18:39
4 juin 2008 à 18:39
Salut,
Normalement, si ton champ de stockage est un varchar, tu devrais avoir tes CR d'origine dedans. Donc plusieurs alternatives:
1. Les CR sont perdus à l'écriture dans la base
2. Les CR sont bien présents dans la base mais c'est le programme qui fait la lecture qui te les élimine
Faire un test:
==> affichage:
et voir ce que cela donne (concernant la syntaxe: sur Oracle, adapte-là si nécessaire à MySQL). Donc la longueur est bel et bien 3, le CR est présent dans la base.
hth,
+++
Normalement, si ton champ de stockage est un varchar, tu devrais avoir tes CR d'origine dedans. Donc plusieurs alternatives:
1. Les CR sont perdus à l'écriture dans la base
2. Les CR sont bien présents dans la base mais c'est le programme qui fait la lecture qui te les élimine
Faire un test:
DROP TABLE test2; CREATE TABLE test2 (a VARCHAR(10)); INSERT INTO test2 VALUES ('1 2' ); SELECT LENGTH (a) FROM test2;
==> affichage:
Table dropped. Table created. 1 row created. LENGTH(A) ---------- 3 1 row selected.
et voir ce que cela donne (concernant la syntaxe: sur Oracle, adapte-là si nécessaire à MySQL). Donc la longueur est bel et bien 3, le CR est présent dans la base.
hth,
+++
4 juin 2008 à 18:45
Mon cas correspond bien à ton cas 2. Les CR sont conservés dans la BD.
Le champs est de format: "text" et de type: "utf8_unicode_ci"
4 juin 2008 à 18:50
4 juin 2008 à 18:51
En php, il y a une fonction qui te fait ça automatiquement :
nl2br (string) => Retroune le texte, en remplaçant les fins de ligne par des <br />
4 juin 2008 à 19:15
Mais le problème c'est que nl2br ne reconnaît pas les CR tout comme la fonction preg_replace().
Est-ce que MySQL charge les CR d'une autre façon que \n ou \r\n??
4 juin 2008 à 19:20
Et en faisant le remplacement avant d'envoyer le texte dans ta base ? :-P