- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- 13 10 su mysql
-
13 10 su mysql
ciao a tutti
sono nuovo di queste parti.ho un problema con la registrazione di news in un database mysql,
se nel testo vado a capo (ascii 13 e 10 no?) il db mi registra male la news,
qualcuno sa come potrei fare ad ovviare a questo problema?
grazie!..
-
immagino che per la news tu stia usando una "textarea" di inserimento, e che poi nella tabella hai un campo di tipo "text"...
quando devo visualizzare il messaggio della news traduco i caratteri nel codice opportuno:
supponiamo che da una query nella tabella ti sei preso la news da visualizzare:$testonews=recordset['testonews']
$testonews= stripcslashes($testonews);
$testonews= htmlspecialchars($testonews);
$testonews= str_replace("\t"," ",$testonews);
$testonews= str_replace("\r","",$testonews);
$testonews= str_replace("\n","<br>",$testonews);puoi usare altre funzioni tipo quelle che usano le espressioni regolari se vuoi farlo con una sola riga di codice, qui è solo un esempio per mostrarti cosa devi sostituire, i caratteri di tabulazione vengono sostituiti con degli spazi, il carattere CR -> "\r" viene eliminato, e il carattere NewLine->"\n" viene sostituito dal codice html "<br>"
le altre due istruzioni stripcslashes e htmlspecialchars servono a convertire eventuali caratteri, la prima toglie i quotes aggiunti con addslashes e la seconda trasforma quei caratteri che devono essere convertiti nella notazione estesa html, tipo '&' (ampersand) diventa '&' .