[Catalanitzador] Problema amb la persistència de logs al servidor de Catalanitzador

Jordi Mas jmas a softcatala.org
dll set 15 23:33:02 CEST 2014


Ep Pau,

Quan vam desenvolupar el servidor de dades[1] ens vam trobar que les 
contrabarres (\) no es desaven bé. Les dades del Catalanitzador s'envien 
amb un POST amb dos camps (xml) amb les estadístiques i (log) amb el log 
si hi hagut un error.

El Pau ho va solucionar per les dades estadístiques eliminant la 
contrabarra [2] (un hack temporal que s'ha quedat per sempre) però mai 
es va solucionar el problema pels LOG. Durant un temps, vam pensar que 
era un problema de codificació de caràcters.

El problema a dia d'avui és que si vas al camp LOG de la BBDD les 
contrabarres no hi són. Això és impediment per entendre els camins:

20:21:11.0921 - LibreOfficeInspector::_readLocale. Could not open 
'C:UsersLolitaAppDataRoamingLibreOffice4userregistrymodifications.xcu'

Aghhh!!! És impossible saber si per exemple en algun escenari ens em 
deixat una contrabarra, ja que no hi són.

He mirat el problema i he arribat a la conclusió que és un problema 
relacionat amb com persistim les cadenes al MySQL. Resulta que el MySQL 
en els camps de text[3] té uns caràcters reservats que comencen amb \. 
Llavors, la contrabarra no és processa sinó s'escapa com a doble 
contrabarra. Hi ha varies opcions per resoldre el problema:

1) Usar les noves alternatives a mysql_real_escape_string() [4]
2) Desactivar el suport d'escapament de caràcters Backslash [5]

Qualsevol de les opcions m'està bé. També caldria eliminar llavors el 
codi [2].

Pau, pots fer els canvis en l'entorn de desenvolupament i llavors puc 
fer proves a veure si funciona?

Moltes gràcies

Jordi,

[1] 
https://github.com/Softcatala/Catalanitzador/blob/master/Server/parser.php
[2] 
https://github.com/Softcatala/Catalanitzador/blob/master/Server/parser.php#L18
[3] http://dev.mysql.com/doc/refman/5.0/en/string-literals.html
[4] http://es1.php.net/manual/es/function.mysql-real-escape-string.php
[5] 
http://dev.mysql.com/doc/refman/5.1/en/sql-mode.html#sqlmode_no_backslash_escapes
-- 
Jordi Mas i Hernàndez -Bloc: http://gent.softcatala.org/jmas/bloc/
Planet Softcatalà -> http://planeta.softcatala.org


Més informació sobre la llista de correu Catalanitzador