Jon M. wrote:
"Richard Lynch" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]

On Thu, April 21, 2005 5:07 pm, Jon M. said:

I am trying to have a file that I generated with PHP saved as UTF-8
without
the BOM (Byte Order Mark). Does PHP do anything like this? I am a beginner
with PHP, but very technically experienced otherwise. I'm talking about
the
FILE encoding here -just to be clear.


e.g.  fopen("what_ever_file", "a+") now I want PHP save the file itself
with
UTF-8, NOT system default.

I have searched for hours to find an answer, but have not found any info
on
the subject.

Does PHP have any ability to create a text file saved in UTF-8 encoding???

Maybe I'm just being dumb, but I think if you UTF-8 encode your data, and http://php.net/fwrite it, you're gonna get what you want...

Dunno about the Byte-Order-Mark part, but I guess you could strip it out
of the UTF-8 encoded data before writing, if you wanted to.

--
Like Music?
http://l-i-e.com/artists.htm



That was the first thing I tried, and it doesn't seem to work (it always saves in windows default encoding). Unless I missing something about what you can do with fwrite. Did you actually test that before you replied, and found that it would? If so, how? The Byte Order Mark is a part of the binary file that is written, how would one go about stripping it out??


BTW, note to PHP developers: If "fwrite" had a "encoding" parameter, e.g. "UTF-8", that would be REALLY handy.

Strings in PHP are binary-safe and character-encoding neutral. fwrite doesn't have a clue what it is writing, it just writes what is in memory.


I'd question why you would want to strip the BOM. Any modern system deals with the byte-order-mark correctly. But you can simply strip it manually if it is present in the first 2 bytes before your fwrite if you really need to get rid of it.

-Rasmus

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to