2009-05-06 21 views
7

Me pregunto cómo limpiar los caracteres especiales que MS Word como, como m- y n-guiones y comillas?¿Cómo manejas los caracteres "especiales" que MS Word agrega?

A menudo me encuentro copiando contenido de clientes de Word y pegando en una página HTML estática, pero el contenido termina con caracteres extraños porque los caracteres especiales no se convierten a los códigos ACSII correctos y por lo tanto aparecen como texto ilegible. (Para estos sitios web básicos, estoy usando Dreamweaver.)

He visto muchos problemas similares cuando los clientes copian contenido de Word en campos de solo texto (principalmente textareas). Cuando pongo esto en un PDF (a través de PHP) o aparece en la página, también tiene texto ilegible.

¿Cómo lidiar con esto? ¿Hay algún servicio o programa de limpieza que use?

Respuesta

4

Preste atención para especificar una codificación en todas partes y use UTF-8, entonces esos caracteres "especiales" deberían sobrevivir bien. Pero una vez que han pasado por una codificación que no puede representarlos, la información que el carácter era originalmente se pierde, por lo que no se puede reparar (excepto en algunos casos específicos aunque probablemente muy comunes como cambiar entre Cp1252 e ISO- 8859-1).

+0

Para las páginas HTML en especial, todo es UTF-8, por lo que no es el problema. –

+0

Si los personajes se confunden, NO todo es UTF-8. Los culpables comunes son un atributo faltante de juego de caracteres y ciertos navegadores web que no lo interpretan correctamente. –

+0

Bueno, si algún navegador no lo interpreta bien, entonces diría que no funciona. Aquí está mi doctype, etc.: ¿Hay algo? mal allí? –

2

Puede probar el Demoroniser.

+0

Dang, eso es lindo. Si a nadie se le ocurre algo mejor, eso podría funcionar. –

+1

+1 solo por el nombre. – Hippyjim

0

Si se trata de un archivo de Word que es solo texto (es decir: sin gráficos, tablas, etc.), puede intentar Guardar como HTML desde Word, copiar/pegar el HTML resultante en su documento en Dreamweaver y luego utilizar Dreamweaver Función "Limpiar Word HTML" (en el menú Comando).

Como alternativa, puede probar fix my HTML, aunque no lo he intentado personalmente con el texto de Word, por lo que los resultados pueden variar.

+0

Estoy tratando de encontrar algo que no dé 5 pasos para entrar en Dreamweaver y también sería bueno tener algo que pueda darles a los clientes para que también limpien su contenido de Word. –

8

En cuanto a los clientes publicar copiar/pegar texto desde Word en áreas de texto:

La forma más fiable para garantizar que el cliente le envía texto en cualquier codificación particular (por lo tanto es de esperar realizar ninguna conversión de CP-1252 [o lo que Word usa] para usted), es agregar el atributo accept-charset="..." a todas sus <form> s. Ej .:

<form ... accept-charset="UTF-8"> 
    ... 
</form> 

mayoría de los navegadores que obedecer y asegurarse de que los caracteres "Palabra-específicos" se convierten en el juego de caracteres adecuado antes de que llegue a su sitio web. Una vez que el texto no válido llega a su sitio web, es muy poco lo que puede hacer para solucionarlo de manera confiable, por lo que es mejor verificar que todos los datos sean válidos en cualquier conjunto de caracteres que utilice y descartar cualquier solicitud que tenga texto no válido. Esto es necesario incluso con accept-charset, porque indudablemente hay algunos clientes que lo ignorarán.

5

Usted puede utilizar preg_replace llamada de función para eliminar todos los caracteres especiales de palabra o de otros de la cadena de

preg_replace('/[^\x00-\x7F]+/', '', $str); 
+1

esto me ayudó mucho. Necesitaba eliminar ese carácter especial porque al publicar datos en otra aplicación de tercera parte no se ha hecho – kkatusic

1

Asegúrese de que la palabra está configurado para utilizar UTF-8 para "Guardar como .." HTML.

Esto está en Opciones> Opciones de Word> Avanzado> Opciones Web> Codificación

+0

No es realmente lo que estaba pidiendo, ya que no se guardan como HTML de Word (¡oh no!), Pero es bueno sabe que esta opción existe –

+0

Esta respuesta me ahorró muchos problemas. ¡No fue fácil encontrar esa opción incluso con sus instrucciones! –

+0

En mi versión de Word, esto se puede encontrar en: menú de archivo-> opciones-> avanzado-> sección general-> botón de opciones web-> pestaña de codificación-> guarde este documento como: –

Cuestiones relacionadas