Ciao,
scrivo perché è da qualche ora che sbatto la testa su questo problema, e non ne sono venuto ancora a capo, allora ho pensato di affidarmi a qualcuno di un po' più esperto.
In poche parole faccio una query ad una tabella, recupero un campo (tipo BLOB).
La connessione è settata a utf8, il character encoding anche, e collation utf8_bin.
La pagina di output ha anch'essa charset=utf-8.
Prima di essere inserito nella tabella uso la funzione mysql_real_escape_string();
Recupero il campo, che contiene un "\n", e provo un echo: nulla, quel "\n" resta.
Provo in tutti i modi a sostituirlo, ma non ne vuole sapere di diventare un ritorno a capo, se ne resta lì bello bello come un \n testuale.
Ciò che non capisco è perché resti tale senza diventare invece un ritorno a capo (intendo nel codice sorgente o se inserito in una textarea).
Inoltre se provo un mb_detect_encoding mi dice 'ASCII'!
Probabilmente sto anche facendo un errore stupidissimo, ma proprio non capisco il perché questo problema.
Per ora uso come workaround:
Ma resta comunque il quesito del perché non funzioni normalmente.Codice PHP:
$text = preg_replace("#\\\\\\\\n#", "\n", $text);
Grazie per le delucidazioni. :]