A chaque saut de ligne dans ckeditor, j'ai des :

<p>&nbsp;</p>


Ma base étant en utf-8, c'est assez compromettant.

Comment puis je remédier à ce problème ?
Bonjour phpcbien,

pourquoi ne travailles-tu pas avec notepad++ ?

Je n'ai aucun problème de ce genre là. Mais par contre, je suis obligé de tout saisir car c'est un simple éditeur de texte.

@+
Le rapport avec une base de données en UTF-8 : absolument aucun.

Touche entrée = nouveau paragraphe.
Touche SHIFT + entrée = saut de ligne.

Comme dans n'importe quel logiciel de traitement de texte depuis que l'informatique existe. Smiley cligne
Bonjour jb_gfx,

"jb_gfx" a écrit :
Comme dans n'importe quel logiciel de traitement de texte depuis que l'informatique existe. cligne


Je crois que tu confonds la touche "retour chariot" ou en anglais "carriage return" qui correspond au caractère ASCII CR et la touche "entrée" qui vide le buffer et envoi ce buffer vers le site centrale (cas des terminaux entre autre ou des télétype).

Tu te trouves dans un éditeur de texte donc il faut parler de la touche "retour chariot".

Mais pour te défendre, tu vas encore me dire que je raconte des conneries !

@+
Artemus24 a écrit :

Mais pour te défendre, tu vas encore me dire que je raconte des conneries !


Tu racontes encore des conneries. Smiley lol

Franchement j'ai rien contre toi mais tu pourrais faire un effort de temps en temps. J'utilise CKeditor depuis des années et je sais très bien comment il fonctionne (comme n'importe quel éditeur de texte basé sur le standard de fait qui est Word) et j'ai expliqué ce que je viens d'expliquer à PHPCbien à des dizaines de clients par le passé.
Modifié par jb_gfx (14 May 2012 - 19:22)
Modérateur
Artemus24, pour que tu saches la différence entre Notepad++ et CKEditor, je t'invite à te rendre sur ce site : http://ckeditor.com/demo

CKEditor est un éditeur en ligne. C'est pour permettre aux clients d'éditer le contenu de leur site directement avec leur navigateur Web.

La touche Entrée du clavier génère un nouveau paragraphe HTML. Tandis que Shift+Entrée génère un <br />
Modifié par Tony Monast (14 May 2012 - 19:37)
Bonjour à toutes et à tous,

cela n'a rien avoir avec un quelconque éditeur. Je parle du clavier. Sauf que vous ne savez pas ce qu'est une touche "enter" ! Rien à voir avec le retour chariot.

Et d'ailleurs où voyez-vous sur le clavier de votre ordinateur une touche marqué avec "ENTER" ? La grosse touche avec une flèche brisée symbolise le retour chariot.

Et comme je l'ai dit ci-dessus, la touche "ENTER" est utilisé sur des terminaux et des télétypes. voici un clavier d'un terminal IBM de type 3270.
http://www.seasip.info/VintagePC/Images/6110344.jpg

La touche "enter" est la deuxième touche qui se trouve à droite de la barre des espaces, juste en dessous de la grosse touche shift. On retrouve aussi cette touche sur le bord droit du clavier (touche allongée verticalement) dans la partie calculatrice.

Donc vous faites un abus de langage en utilisant le mot "enter" ou "entrée" pour désigner le retour chariot.

@+
Modifié par Artemus24 (14 May 2012 - 20:29)
Modérateur
Wow Artemus24, c'est à croire que tu fais vraiment exprès. C'est hallucinant. Le sujet concerne un éditeur et tu nous parles d'un vieux clavier de terminal. Il va sérieusement devoir que tu te mettes à jour et surtout, que tu gardes le focus sur le sujet principal.

Voici un clavier assez commun qui ressemble au mien. C'est en vente un peu partout. Tu peux cliquer sur l'image pour l'agrandir.

upload/281-keyb6lg.jpg

Tu vois le gros bouton Enter? Sur le mien au bureau, c'est écrit Entrée. Quand je mets mon doigt dessus, par magie, ça crée un nouveau paragraphe dans l'éditeur. Idem pour la touche Entrée du pavé numérique complètement à droite.

Après même si historiquement la touche Enter/Entrée était complètement autre chose (je ne sais pas), c'est complètement hors sujet.
Modifié par Tony Monast (14 May 2012 - 21:12)
Artemus,

Toujours plus haut, toujours plus fort

C'est chaud à ce point Oo

Ca divertit en même temps..
Bonjour à toutes et à tous,

je vais être plus précis.

On parle de touche lorsqu'il s'agit du "carriage return" ou "retour chariot" et cette touche est codé dans la table ASCII avec le symbole CR (=0x0D = 13). Ou encore de "line feed" ou "saut de ligne et elle est codé en ASCII avec le symbole LF (=0x0A ou =10).

De ce fait, la séquence des touches donnée par jb_gfx est tout à fait correcte.

Mais on parle de commande "ENTER" et elle n'est pas codé dans la table ASCII parce que ce n'est pas une touche.

Cela va surprendre peut-être mais il n'y a pas que des touches sur un clavier (codé en ascii). Il y a des commandes, par exemple ATTN, et il y a des touches programmables que l'on nomme aussi touches de fonction qui sont au nombre de 24 (avec l'usage du shift sinon 12).

C'est pourquoi, je dis que c'est un abus de langage de parler de la touche "ENTER" car ce n'est pas un touche mais une commande. De plus la traduction de cette touche ne signifie pas "entrée" mais "envoi". Et cette commande est relative à des terminaux ou des télétypes. Donc ton clavier est polyvalent.

J'ai un ordinateur portable du type HP 6830S. Voici son clavier :
http://pmcdn.priceminister.com/photo/869506272.jpg

Et puis, je ne suis pas hors sujet. Phpcbien ne connait pas la combinaison des touches de son clavier pour produire les résultats qu'il recherche.

@+
Modifié par Artemus24 (14 May 2012 - 21:35)
Bon pour être plus précis et dans mon cas de figure, je cherche à me servir du texte saisi par l'utilisateur pour remplir le contenu de ses pages qui sont dans un champ de type text unicode_ci utf-8

Je voulais savoir si il était naturel de faire une insertion mysql avec le &nbsp; de type iso-8859-1 ????

1:est ce propre ?????

SI NON
= quelle est la meilleur méthode ??

jbgfx

Toi qui connait bien l'éditeur, j'ai rajouté ceci dans l'éditeur :

config.entities = false;
config.entities_latin = false;


Pour empêcher le htmlentities par défaut de l'éditeur pour pas me retrouver avec une tonne de caractères ASCII dans ma base.

Ensuite mes pages html on un
charset utf-8
aussi

L'interaction entre PHP et mysql se se fait avec un
SET NAME=UTF8


......

SI OUI c-a-d c'est pas grave si t'as des &nbsp; dans ta base.....

= ben je cherche à remplir mes métas desc avec les 400 premiers caractères du contenu de chaque page

j'ai procédé ainsi :

//je ripp les balises html de mon contenu et en prends les 400 prem caractères
$contenu=strip_tags(substr($page["contenu"],0,400))

$[b]desc [/b]= html_entity_decode($contenu, ENT_QUOTES, 'UTF-8');


dans mon template :

<meta name="description" content="{ [b]desc [/b]}" />


le hic c'est que je me retrouve avec des gros blank html

un exemple :

		<meta name="description" content="
	 

	Depuis 2009, je réalise des études design, graphisme et web dans des domaines d’activités très variés qui ont fait la réussite de ceux qui m’ont fait confiance.

	 

	Tout comme une agence de design ou un studio de création, je peux répondre à toutes vos demandes en terme"/>


Voila mon problème ! Smiley biggol
Modifié par phpCbien (14 May 2012 - 21:45)
attends tony

bonjour, Smiley lol

je viens de poster

Et bon je sais ce qu'il se passe quand on appuie sur entrée dans ckeditor Smiley lol

Sinon, j' aurai pas créer ce sujet

Pour info, même la communauté drupal se prend ENCORE la tête à cause de ça(CKEDITOR 6x-x)

en effet, avant de poster, je fais des recherches Smiley langue

Après je viens demander votre aide .
Modifié par phpCbien (14 May 2012 - 21:49)
Modérateur
J'ai supprimé mon message phpCbien. Je n'ai plus envie de perdre mon temps. J'abandonne définitivement.
Hum... moi rester définitivement con ou faire téléconseiller une petite semaine puis me pendre ou tuer des gens ??

Non, sérieux !
phpCbien,

Je sais faire abstraction de certaines choses, je vais donc tenter de remplacer Tony.

L’entité &nbsp; n’a pas de type particulier. Tu peux tout à faire l’avoir dans du texte iso-8859-1 ou UTF-8. C'est un peu un avantage des entités : pouvoir représenter un caractère particulier quelque soit l’encodage des caractères (puisque l’entitié n’utilise que des caractères ascii).

Donc non ce n’est pas grave.

Tu peux tout à fait configurer l’éditeur pour limiter l’utilisation des entités … les entités html c’est tellement année 90 ça n’a plus tellement de sens à présent.
Le reste de la configuration me semble ok.

Petite anecdote : Il me semble (à vérifier) que l’éditeur insère un &nbsp; dans le paragraphe pour faciliter son utilisation par l’utilisateur. Sans cet espace, il serait très difficile pour l’utilisateur de réussir à cliquer à l’intérieur du paragraphe car ce dernier aurait fait une largeur de 0.
Peut être que jb_gfx pourra confirmer.

a écrit :
le hic c'est que je me retrouve avec des gros blank html

Alors techniquement, tes gros "blank" ne sont pas problématique, ça reste valide.
Ils sont causés par les caractères de saut de ligne : \r (cariage return) et \n (line feed).
Attention, certaines systèmes utilisent uniquement le \r pour le retour à la ligne, d’autres uniquement le \n et d’autres les deux : \r\n.

Tu devrais donc essayer de remplacer ces caractères par une chaine vide.

$desc = html_entity_decode($contenu, ENT_QUOTES, 'UTF-8');
$desc = str_replace(array("\r", "\n"), '', $desc);
Modifié par Jules-F (14 May 2012 - 22:11)
Modérateur
J'ajouterais encore que le &nbsp; est encore souvent utilisé pour deux raisons:
1) Dans le code on voit bien la différence, ça a l'air de rien mais c'est bien efficace.
2) Sous windows, insérer une espace insécable relève du parcours du combattant, il faut faire alt+code imbuvable, si on a la chance d'avoir un numpad. Sinon certains logiciels offrent un raccourci, bien sûr tous différents!
Administrateur
Artemus24 a écrit :
je vais être plus précis.

NON, pas pour partir dans le hors-sujet

Artemus24 a écrit :
Et puis, je ne suis pas hors sujet.

Oh si.
Le problème est lié à CKEditor qui fait de la mauvaise qualité avec ce qu'il reçoit du clavier. Il sait très bien quelles touches ont été pressées, ce n'est absolument pas le problème.

Si tu connais la différence entre Return et Enter il y a 30 ans (et ce que c'était vraiment une touche Ctrl, peut-être Option), alors tu devrais d'autant mieux comprendre ce qu'on appelle actuellement la touche Entrée quand on ne précise pas le contexte : n'importe laquelle des 2 touches, peu importe en 2012.
Et que l'on fait des raccourcis "action de l'utilisateur (touche pressée) => conséquence pratique (à la fin, à la toute fin)" tant que tout le monde s'y retrouve.
Tout le monde comprend qu'un PC n'est pas un IBM-PC de 198x tournant avec un 8086 ou que le bouton "Reculer d'une page" d'un navigateur ne veut pas forcément dire "appuyer avec le bouton gauche de la souris sur ce bouton" quand l'utilisateur a une souris 4 ou 10 boutons, bref.
c'est vrai que les retours chariot de ckeditor sont un peu pourris!

Pour le reste, il est terrible, c'est un très bon éditeur !

De plus l'idéal serait un
<br />
html

Etant donné que l'éditeur interprète à 100% le html .

De toute façon, faut mettre la tête dans le config.js pour définir des classes css pour l'utilisateur pour éviter de se retrouver avec un million de
span 
et de
p
sur-imbriquéees les unes sur les autres.

Bon sinon il existe toujours HTML Cleanup, mais bon.....

Si vous avez des pages en strict accueillant ce genre de contenu et que vous soumettez ça au validateur, vous êtes dans la Smiley fouille

HS for me Smiley lol
Modifié par phpCbien (15 May 2012 - 12:52)