Hi!
nl2br() should work.
However, there may be a catch that is connected with the fact that Windows uses carriage return + line feed combination for a line break (\r\n), while Linux / Unix apps use \n. If I were you, I would try to look at the raw data by passing the MySQL result though addslashes(string str) function. This will show all the data with \, just as in the database. If it does have \r characters, then you need to write your own function, perhaps like this
function crlf2br($data)
{
// use php 4 (!==) operator. See strpos function
while ($i = strpos($data, "\r\n")) !== 0 {
$data = substr($data, 0, $i).substr($data, $i+1);
}
} // end func
Hope this helps!
Stas