2009-01-07 7 views
0

La majorité du contenu du site Web de ma société commence sous la forme d'un document Word (encodé sous Windows-1252) et est finalement copié-collé dans notre système de gestion de contenu codé en UTF-8. La conversion s'interrompt généralement sur quelques caractères (caractères spéciaux de rupture, citations intelligentes, notations scientifiques) qui doivent être nettoyés manuellement, mais bien sûr, quelques-uns passent toujours inaperçus.Détection des problèmes de conversion d'encodage

Selon vous, quelle serait la meilleure façon de détecter ces problèmes?

Répondre

2

Comment faites-vous exactement la conversion?

L'ensemble du problème de copie à partir de Word est quelque chose que j'ai rencontré plus souvent, mais il devrait être facile à résoudre.

Les caractères que vous mentionnez sont tous dans la plage 0x80 - 0x9F dans laquelle the Windows-1252 code page differs from the ISO-8859-1 code page. Cette plage est indéfinie dans ISO-8859-1.

Vous devez effectuer la conversion à partir de ISO-8859-1 (ou peut-être ISO-8859-15) au lieu de Windows-1252, ce qui provoque l'étouffement des caractères dans cette plage. Vous devez soit ajuster le codage source de votre conversion ou, si cela n'est pas possible (je ne connais pas C#, mais j'en doute), utiliser le tableau de page de code pour corriger les 32 caractères de problème séparément du conversion principale.

1

Pouvez-vous enregistrer le texte sous .rtf, puis l'analyser à l'aide d'un autre programme? Pouvez-vous utiliser le VBA de Word pour enregistrer le texte comme quelque chose de sain?

+0

Malheureusement, la formation des utilisateurs finaux n'a pas été très réussie. Copier-coller du mot au bloc-notes, puis le CMS résout tous les problèmes, mais les utilisateurs sont réticents à suivre cette étape fastidieuse. J'essaie de trouver une solution qui peut résoudre ce côté serveur. –

+0

Pouvez-vous installer Word sur le serveur CMS? Si c'est le cas, vous pourriez utiliser COM interop pour convertir le texte en quelque chose que le CMS va gérer. –

1

Comme déjà mentionné, il serait préférable d'exporter le contenu de Word dans un format analysable (RTF ou XML ferait l'affaire). Il peut y avoir une raison particulière d'utiliser copier-coller pour ajouter le matériel à votre CMS, mais en copiant-collant, vous aurez probablement toujours une vérification visuelle et une correction à moins de créer un outil surveille le presse-papiers. Lorsque vous copiez et collez à partir d'une version récente de Word, le presse-papiers dispose de plusieurs formats différents, l'un des formats est basé sur XML. Il serait possible de créer quelque chose qui nettoiera le XML de Word dans le presse-papier et "définir" la version de texte (que vous avez probablement coller au CMS) au format nettoyé.

Vous pouvez utiliser le fichier Word.interop fourni avec le bureau et les fonctions standard du Presse-papiers C# pour créer ceci. L'outil pourrait fonctionner sur le dessus (en arrière-plan) de Word tout en ajoutant du contenu au CMS.

+0

Intéressant, je suis en train de jeter un oeil à la mise en œuvre de quelque chose comme ça et je vous ferai savoir comment ça se passe! –

Questions connexes