[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