J’ai besoin d’aide

J’ai un problème inédit dans la gestion de la base de données du site. J’ai une table pour les questions-réponses qui comporte un champ corps qui contient le corps du texte de la question-réponse. Sur la dernière question-réponse j’ai rédigé le texte sous word (pour les équations), j’ai enregistré au format html, j’ai un peu bricolé un peu dans un éditeur de page web (pour des histoires de liens vers les répertoires d’images), puis j’ai copié collé la source dans le champ. J’utilise la version de PHPmyadmin fournie par Free pour valider la requête.

Sur la dernière question insérée, après insertion de l’enregistrement, j’ai le message : Warning: #1265 Data truncated for column ‘corps’ at row 1. Ce qui signifie a priori que l’espace allouable pour le champ corps est insuffisant pour ce que j’ai à mettre dedans. Je suis surpris parce que cette question n’est pas franchement longue par rapport à d’autres. Je ne vois qu’une explication : les différents éléments de mise en forme de la source du document word allongent le texte inséré au delà de la limite. Concrètement, mon texte est partiellement publié.

Vous en pensez quoi ? Je peux faire quoi à votre avis ?

Share Button

12 Commentaires

  1. Bonjour
    Reprends ton texte word et colle-le dans un éditeur genre notepad++ – nettoie, puis recolle dans le champs

    Réponse de Stéphane Ménia
    Je l’ai déjà fait, dans kompozer. J’ai viré quelques éléments de style pour voir si ça me fait apparaître un peu plus de texte. Hélas, ça ne change rien. Mais merci.

  2. Vous pouvez agrandir la taille du champs, a priori, depuis phpmyadmin, mais c’est pas très propre.
    Sinon, virer un maximum d’éléments html de word, qui si je me rappelle bien rajoute plus d’éléments de style qu’il n’y a de texte.
    Enfin, trouver une bonne âme qui fasse le nettoyage pour vous!

    Réponse de Stéphane Ménia
    Bah, s’il faut nettoyer, je le ferai… C’est juste que si je dois me farcir un truc de ce genre à chaque fois, j’espère que ce sera systématiquement les mêmes manips… Merci.

  3. Changer la nature du champ ‘corps’.
    Dans PHPmyAdmin, vous devez voir de quel genre de champ il s’agit : DATE, INTEGER, VARCHAR, TEXT …
    Si vous le trouvez, je pourrais vous dire vers quoi le changer.

    Sinon, faire des pages en 2 parties 🙂

    Réponse de Stéphane Ménia
    Merci. Je suis passé en LONG TEXT au lieu de TEXT et je récupère effectivement du texte. Mais il me manque encore deux lignes ! Par ailleurs, il y a un bug sur l’affichage des images. Logiquement, ça ne devrait rien avoir à voir avec le format de données. Enfin, on avance. Et oui, j’ai songé à rajouter un champ corps2… 😉

  4. Si je comprends bien kompozer est un éditeur html – il faut repasser par un éditeur de texte pur comme notepad++ justement pour se débarrasser du bruit de balises html introduit par word.

    Sans repasser par du texte brut sans formatage html, le code source donc, ce sera long de réduire suffisamment la longueur de ce code source…

    Réponse de Stéphane Ménia
    Merci, c’est noté.

  5. Faudrait jeter un œil au type du champs corps : l’est ptet simplement trop petit.

    Faudrait aussi vérifier (tout simplement) si ce n’est pas un caractère qui termine plus tôt que prévu le champs (ça m’est déjà arrivé avec un « " » qui traînait au milieu d’un ajout.

    Réponse de Stéphane Ménia
    Les deux hypothèses restent d’actualité… Merci.

  6. Bonjour,

    connaissez-vous la taille max du champ "corps" ? Je veux bien que vous m’envoyiez une copie de votre texte pour que je fasse un essai, et voir si ce n’est pas un bug de phpmyadmin

    Réponse de Stéphane Ménia
    Pas idée, non. J’ai fixé sa valeur (laissée à sa valeur par défaut à la base) sur un truc super élevé, ça n’a rien changé. Je jette encore un oeil et je vous envoie le texte. Merci.

  7. Une question et une suggestion :
    Quelle est la taille de la colonne ?
    Peux-tu essayer sans les formules mathématiques : le HTML relatif aux formules me semble superlourd !

    Réponse de Stéphane Ménia
    En principe, les formules sortent en images. Mais il me semble en effet qu’il y a malgré tout du formatage. Je crains qu’un nettoyage s’impose.

  8. Quel est le format du champs "corps" sur la table ?

    Réponse de Stéphane Ménia
    TEXT, je l’ai passé en LONGTEXT (voir mon com plus haut).

  9. Il doit y avoir un autre soucis alors, un champs longtext c’est 4.3 Go (2^32) !!

    Réponse de Stéphane Ménia
    Ah wé, clair… Il manque juste la fin et les images ont une allure foireuse à partir d’un certain moment. Je pense qu’il faut songer à une autre option que Word + htmlisation… Merci.

  10. C’est probablement un soucis d’encodage des quotes. Le texte n’est pas tronqué à cause de la longueur mais d’un caractère de fin de champs. Ce qui est étrange c’est que dans ce cas là, normalement l’enregistrement n’est pas inséré dans la table …

    En cas de persistance, il n’y a qu’à m’envoyer le texte sur mon mail, je le vérifierai (il faudra aussi la version de PHP, de MySQL et éventuellement celle de phpMyAdmin si l’insertion s’est effectuée avec … et savoir si la directive PHP magic_quotes est activée)

    Réponse de Stéphane Ménia
    Oui, problème d’encodage des quotes, très probablement, vu que je viens de publier un autre texte sans soucis. Je t’envoie le texte si vraiment j’arrive pas à me dépatouiller. Encore merci.

  11. Pour l’édition de html en wisiwyg, Bluegriffon est parfait.

    Réponse de Stéphane Ménia
    Je le télécharge de ce pas. Merci.

  12. Est-ce que tu sais si dans le code est utilise la fonction mysql_escape?
    Vérifies bien l’ absences de caractères a la con du genre (";’).
    Si tu utilises word pour les équations, ça veut dire que c’ est un format spécifique de rendu. Tu peux me dire comment tu gères ça?

    En esperant que tu trouve une solution! :>

    Réponse de Stéphane Ménia
    Je pense que c’est effectivement un caractère à la con qui est pris en compte alors qu’il ne devrait pas l’être. Je viens de publier un texte aussi long avec la même procédure et c’est passé comme une lettre à la poste. Merci.

Commentaires fermés.