Linux: como convertir los tildes a sintaxis html

Tuve el siguiente problema: estaba desarrollando en PHP y con Smarty desde un equipo con Linux que soportaba el formato UTF-8, pero debía subir los fuentes a un servidor que disponía de una versión de Linux antigua que no soportaba este formato.

El resultado era que los tildes escritos "a fuego" (ej: "canción") eran representados como "basura" en la pantalla.

Finalmente, después de varios intentos infructuosos, decidí que la única forma de solucionarlo definitivamente era recorrer todos los fuentes con html y ver de cambiar la codificación de lo tildes a HTML (sintaxis "acute") y quedaría todo solucionado.

Este es el resultado de leer por media hora los manuales, un scripts que recorre todos los fuentes .html y los corrige:

recorrer_tildes.sh

find . -print -name '*.tpl.html' -exec ./corregir_tildes.sh {} \;


corregir_tildes.sh
echo "->" $1

mv $1 $1.orig
sed -f sed.txt $1.orig > $1

sed.txt

1,${
s/á/\á/g
s/é/\é/g
s/í/\í/g
s/ó/\ó/g
s/ú/\ú/g

s/Á/A/g
s/É/E/g
s/Í/I/g
s/Ó/O/g
s/Ú/U/g

s/ñ/\ñ/g
s/°/\&\#176;/g
s/º/\&\#176;/g
s/N�/Nro/g
s/1�/1ero/g
s/4�/4to/g

s/emitir�/emitir\á/g

}

Que les aproveche!

Entradas populares