Il problema riscontrato riguardava le lettere accentate, che erano visualizzate male nonostante il charset specificato nelle pagine html fosse giusto (iso-8859-1).
La questione risiedeva nel fatto che nei files di localizzazione non sono specificate le corrispondenti entità iso html al posto delle lettere accentate: ovvero ci sono 'è' invece di "è", 'ì' invece di "ì", ecc...
La soluzione consiste nel convertire tutte le lettere accentate nelle corrispondenti entità iso. Ovviamente la soluzione proposta funziona solo sotto linux (ma tramite un editor html dovrebbe essere possibile una conversione semi-automatica anche sotto windows):
Una volta installata la traduzione basta spostarsi nelle directories delle localizzazioni:
Codice: Seleziona tutto
$WWWROOT/oscommerce-2.2ms2/catalog/includes/languages
$WWWROOT/oscommerce-2.2ms2/catalog/admin/includes/languages
Codice: Seleziona tutto
#!/bin/sh
TEMP_SED=$(mktemp)
cat << EOF > $TEMP_SED
s/\(.*\)\(à\)\(.*\)/\1\à\3/g
s/\(.*\)\(é\)\(.*\)/\1\é\3/g
s/\(.*\)\(è\)\(.*\)/\1\è\3/g
s/\(.*\)\(ì\)\(.*\)/\1\ì\3/g
s/\(.*\)\(ù\)\(.*\)/\1\ù\3/g
EOF
PHP_FILES="italian.php $(find italian -name '*.php')"
for i in $PHP_FILES;
do
sed -f $TEMP_SED $i > $i.temp;
mv -vfb $i.temp $i
done
rm -f $TEMP_SED