sera,
a seguito del problema di ieri sulle stringhe che ricevo da una textarea, dove mi ritrovo il carattere \r\n.
Il problema sta diventando più generale.. ovvero nel db mi sono ritrovato una cosa di questo genere \\\\"parola\\\\" che una volta rimesso in una pagina html diventa \\"parola\\" ..
le funzioni di codifica utilizzate (prima di passare la stringa al mysql) sono:
Codice PHP:
$encodedString = htmlspecialchars($encodedString, ENT_QUOTES);
$encodedString = mysql_escape_string($encodedString);
mentre quelle di decodifica
Codice PHP:
$decodedString = stripslashes($encodedString);
$decodedString = nl2br($decodedString);
Ora che mysql aggiunga l'escape automaticamente mi può anche andare bene...che ce li metta il mysql_escape_string, mi va bene, tanto ho lo stripslashes... la cosa che non capisco è come sia possibile che una volta scritto "parola" al db sia arrivato \\"parola\\" perchè le " prima passando per htmlspecialchars diventand " successivamente vengono applicati eventualmente escape, ma & non necessita di escape ..
Il problema è la codifica del testo con il quale viene spedito il testo dal client?
Devo forzare una codifica lato server quando processo la stringa ricevuta dal form?
grazie
ciao