Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Newline character

Posted on 2004-04-30
10
Medium Priority
?
50,518 Views
Last Modified: 2013-12-03
Hi Experts

I'm exporting a report from my database in various file formats. One of them is CSV. I'm using:

header("Content-type: application/notepad");
header("Content-Disposition: attachment;filename="Export.txt");

to get Explorer to ask if the file should be saved to disk, or opened from the location. Finally, to the question: I'm using "\n" for the linebreaks, but they aren't appearing when I open the saved file in Notepad, it just gives me reams of continuous text. However, if I print the file, or open it in Excel, then I get the correctly formatted data. It's just notepad that doesn't show the linebreak correctly. Any ideas on what character I should be using?

Thanks

ED
0
Comment
Question by:Edeldragon
  • 3
  • 2
  • 2
  • +3
10 Comments
 
LVL 18

Accepted Solution

by:
CrYpTiC_MauleR earned 200 total points
ID: 10958024
use \r\n
0
 
LVL 25

Expert Comment

by:Marcus Bointon
ID: 10958035
DOS/Windows line breaks are not just a single character. You should be using "\r\n" as the line break for Windows (also known as CRLF, short for carriage return, line feed). Unix-like systems use "\n", MacOS 9 uses "\r", OS X can cope with either "\n" or "\r".
It's fairly likley that Excel is clever enough to convert/accept line breaks in vaying formats, but notepad probably doesn't - it isn't exactly the height of text-processing pile.
0
 
LVL 32

Expert Comment

by:ldbkutty
ID: 10958037
might be helpful....its not simply writing into a notepad with newline, but something interesting you can learn from...

http://www.karakas-online.de/EN-Book/include-plain-text-file-in-module.html
http://www.php.net/manual/en/function.nl2br.php

All the Best.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 4

Expert Comment

by:BrianPap22
ID: 10958040
Unix uses \n to signify a newline.  Mac uses \r (carriage return), and for some bizarre reason, Windows uses both... so you would need to do "\r\n"

If you just want to view the data, then if you open it in Wordpad instead of Notepad it'll honor the lone \n as being a newline (if you edit it in Notepad or Wordpad, it will add \r\n to any newlines you make with it.
0
 
LVL 4

Expert Comment

by:BrianPap22
ID: 10958050
you people... what are you all doing awake? go to bed so i can get points. sheesh!
0
 
LVL 25

Expert Comment

by:Marcus Bointon
ID: 10958115
Ah, well, I'm kind of cheating being on the other side of the world from you! It's 11:45am in London...
0
 

Author Comment

by:Edeldragon
ID: 10958190
3 answers within 4 minutes! Not too shabby. Thanks. I had to give it to Cryptic Mauler because his was the first correct one submitted, although I suspect that Squinky and BrianPap22 only lost out because they were writing me long answers!

Thanks again.
0
 
LVL 18

Expert Comment

by:CrYpTiC_MauleR
ID: 10959585
mmmm timing =oP, all I did was get right down to answering the question : Any ideas on what character I should be using?
But tis was a close race still =oPm Thanks!! =o)
0
 
LVL 4

Expert Comment

by:BrianPap22
ID: 10964378
Hey, give a man a fish, feed him for a day. Teach a man that he can either use \r\n (CRLF) or just view the file in Wordpad instead of Notepad, and now everyone is happy.
0
 

Expert Comment

by:jv2222
ID: 10988262
If you are using a PC and you would like the file to be streamed DIRECTLY into excel (i.e. automatically open Excel) you can do the following:

<?php

$content = <<<END
name,age,sex
bob,22,male
sue,24,female
END;

            header("Content-Length: ".strlen($content));
            header("Content-Disposition: attachment; filename=your_file.xls");
            header("Content-Type: application/octet-stream");
            header("Content-Transfer-Encoding: binary");

            print $content;

?>

Note: You can also use \t instead of commas (,)

Cheers,
Justin
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this. Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it i…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
The viewer will learn how to dynamically set the form action using jQuery.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
Suggested Courses

926 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question