2010-05-06 13 views
5

Ejecutando Coldfusion 8, estoy tratando de limpiar la entrada de texto antes de guardarla en una base de datos que tomará cosas como el equivalente MS de "" y letras acentuadas y convertirlas.Coldfusion no convierte texto acentuado o caracteres MS Word

.

he intentado sustituir, REReplace, y varios UDF se encuentran en Internet Nada parece funcionar de hecho, he intentado esto:.

<cfscript> 
    function cleanString(string) { 
     var newString = string; 
     newString = replace("'", "'", ALL); 
     return newString; 
    } 
</cfscript> 

la comilla simple para ser reemplazado anterior es un estilo comilla simple MS Word Coldfusion arrojó un error, el alcance del error decía que la sintaxis no válida y la comilla simple en el alcance del error era un cuadrado. Si lo cambio al formulario chr(), y lo reemplazo con ', obtengo un espacio en blanco. Si hago chr() a la entidad, obtengo un espacio en blanco.

Estoy más que seguro de haber saltado este obstáculo antes, y no estoy seguro de por qué nada está funcionando ahora. ¿Hay alguna configuración nueva en CF8 vs CF7 con respecto a la codificación de caracteres que me falta?

Respuesta

6

Hay un gran script para demoronizar (sí, es un término técnico) texto copiado de MS Word y similares. Se puede encontrar en CFLib:
http://cflib.org/index.cfm?event=page.udfbyid&udfid=725

lo he usado varias veces, y ha sido feliz con él fuera de la caja (aunque he añadido algunas adiciones para aplicaciones específicas).

+0

+1 (Es curioso que necesitemos un script de demoronización para deshacernos de "comillas inteligentes") – Leigh

+0

@Leigh: nadie dijo que los programadores no son graciosos. Bueno, probablemente alguien lo hizo, pero estaban equivocados. –

Cuestiones relacionadas