From: "Parham Doustdar" on
Hi,

I have created a PHP file, and wrote a string of Farsi letters in it. In the
head section of the HTML, I put:

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">

There appears to be something wrong with Apache, or something, because no
matter whether I put that string in an echo statement or just in an HTML
with a php extention, the page loads as jibberish and I have to set the
character encoding to UTF-8 manually in Firefox.

Renaming that same file to .htm (when not using the echo statement), and
loading it in the browser shows me the correct Farsi characters.

Should I change something in Apache's settings for this to work?

Thanks!


From: Michiel Sikma on
On 24 April 2010 14:45, Parham Doustdar <parham90(a)gmail.com> wrote:

> Hi,
>
> I have created a PHP file, and wrote a string of Farsi letters in it. In
> the
> head section of the HTML, I put:
>
> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
>
> There appears to be something wrong with Apache, or something, because no
> matter whether I put that string in an echo statement or just in an HTML
> with a php extention, the page loads as jibberish and I have to set the
> character encoding to UTF-8 manually in Firefox.
>
> Renaming that same file to .htm (when not using the echo statement), and
> loading it in the browser shows me the correct Farsi characters.
>
> Should I change something in Apache's settings for this to work?
>
> Thanks!
>
>
> No, that should work perfectly fine. Are you sure that the PHP file itself
is utf-8?
Could it be that you manually set the text encoding to something else in
your browser, causing it to remember that setting?

Perhaps you could link us to the page itself so we can have a look. Note
that the best place to put that <meta> tag is right after the opening <head>
tag, before any other header information.

Michiel
From: Ashley Sheridan on
On Sat, 2010-04-24 at 15:38 +0200, Michiel Sikma wrote:

> On 24 April 2010 14:45, Parham Doustdar <parham90(a)gmail.com> wrote:
>
> > Hi,
> >
> > I have created a PHP file, and wrote a string of Farsi letters in it. In
> > the
> > head section of the HTML, I put:
> >
> > <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
> >
> > There appears to be something wrong with Apache, or something, because no
> > matter whether I put that string in an echo statement or just in an HTML
> > with a php extention, the page loads as jibberish and I have to set the
> > character encoding to UTF-8 manually in Firefox.
> >
> > Renaming that same file to .htm (when not using the echo statement), and
> > loading it in the browser shows me the correct Farsi characters.
> >
> > Should I change something in Apache's settings for this to work?
> >
> > Thanks!
> >
> >
> > No, that should work perfectly fine. Are you sure that the PHP file itself
> is utf-8?
> Could it be that you manually set the text encoding to something else in
> your browser, causing it to remember that setting?
>
> Perhaps you could link us to the page itself so we can have a look. Note
> that the best place to put that <meta> tag is right after the opening <head>
> tag, before any other header information.
>
> Michiel


If renaming the file as .htm shows the characters correctly, then
the .php file is most likely saved as utf8.

Maybe Apache has been instructed to send all HTML with another encoding,
as it should send it out with the same encoding as the requested PHP
script.

Thanks,
Ash
http://www.ashleysheridan.co.uk


From: "Parham Doustdar" on
Hi Ashley and Michiel,

It appears it is something in Apache or my server program on Windows (I am
using Uniform Server; a portable webserver from
http://www.uniformserver.com). The reason I got to such a conclusion is
this:

1. I uploaded the pHP file to a free hosting website. Here is the URL:
http://blindmoviebuff.uphero.com/test2.php

2. I put the same page in my www folder in Windows. Here's the address to
that:
http://parham-d.dyndns.org/test2.php

As you can see, the page on uphero.com displays without any encoding changes
required by you, whereas the second has to be manual (for some reason). I
thought seeing the UTF-8 made the browser use that encoding automatically
regardless of whether or not it was sent in UTF-8?

Sorry, I have no information at all about how transmiting is handled. Just
saying guesses aloud. :-)
----- Original Message -----
From: "Ashley Sheridan" <ash(a)ashleysheridan.co.uk>
Newsgroups: php.general
To: "Michiel Sikma" <michiel(a)thingmajig.org>
Cc: "Parham Doustdar" <parham90(a)gmail.com>; <php-general(a)lists.php.net>
Sent: Saturday, April 24, 2010 6:16 PM
Subject: Re: [PHP] Question: Farsi characters showing as jibberish


> On Sat, 2010-04-24 at 15:38 +0200, Michiel Sikma wrote:
>
>> On 24 April 2010 14:45, Parham Doustdar <parham90(a)gmail.com> wrote:
>>
>> > Hi,
>> >
>> > I have created a PHP file, and wrote a string of Farsi letters in it.
>> > In
>> > the
>> > head section of the HTML, I put:
>> >
>> > <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
>> >
>> > There appears to be something wrong with Apache, or something, because
>> > no
>> > matter whether I put that string in an echo statement or just in an
>> > HTML
>> > with a php extention, the page loads as jibberish and I have to set the
>> > character encoding to UTF-8 manually in Firefox.
>> >
>> > Renaming that same file to .htm (when not using the echo statement),
>> > and
>> > loading it in the browser shows me the correct Farsi characters.
>> >
>> > Should I change something in Apache's settings for this to work?
>> >
>> > Thanks!
>> >
>> >
>> > No, that should work perfectly fine. Are you sure that the PHP file
>> > itself
>> is utf-8?
>> Could it be that you manually set the text encoding to something else in
>> your browser, causing it to remember that setting?
>>
>> Perhaps you could link us to the page itself so we can have a look. Note
>> that the best place to put that <meta> tag is right after the opening
>> <head>
>> tag, before any other header information.
>>
>> Michiel
>
>
> If renaming the file as .htm shows the characters correctly, then
> the .php file is most likely saved as utf8.
>
> Maybe Apache has been instructed to send all HTML with another encoding,
> as it should send it out with the same encoding as the requested PHP
> script.
>
> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>
>
>


From: Ashley Sheridan on
On Sat, 2010-04-24 at 18:37 +0430, Parham Doustdar wrote:

> Hi Ashley and Michiel,
>
> It appears it is something in Apache or my server program on Windows (I am
> using Uniform Server; a portable webserver from
> http://www.uniformserver.com). The reason I got to such a conclusion is
> this:
>
> 1. I uploaded the pHP file to a free hosting website. Here is the URL:
> http://blindmoviebuff.uphero.com/test2.php
>
> 2. I put the same page in my www folder in Windows. Here's the address to
> that:
> http://parham-d.dyndns.org/test2.php
>
> As you can see, the page on uphero.com displays without any encoding changes
> required by you, whereas the second has to be manual (for some reason). I
> thought seeing the UTF-8 made the browser use that encoding automatically
> regardless of whether or not it was sent in UTF-8?
>
> Sorry, I have no information at all about how transmiting is handled. Just
> saying guesses aloud. :-)
> ----- Original Message -----
> From: "Ashley Sheridan" <ash(a)ashleysheridan.co.uk>
> Newsgroups: php.general
> To: "Michiel Sikma" <michiel(a)thingmajig.org>
> Cc: "Parham Doustdar" <parham90(a)gmail.com>; <php-general(a)lists.php.net>
> Sent: Saturday, April 24, 2010 6:16 PM
> Subject: Re: [PHP] Question: Farsi characters showing as jibberish
>
>
> > On Sat, 2010-04-24 at 15:38 +0200, Michiel Sikma wrote:
> >
> >> On 24 April 2010 14:45, Parham Doustdar <parham90(a)gmail.com> wrote:
> >>
> >> > Hi,
> >> >
> >> > I have created a PHP file, and wrote a string of Farsi letters in it.
> >> > In
> >> > the
> >> > head section of the HTML, I put:
> >> >
> >> > <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
> >> >
> >> > There appears to be something wrong with Apache, or something, because
> >> > no
> >> > matter whether I put that string in an echo statement or just in an
> >> > HTML
> >> > with a php extention, the page loads as jibberish and I have to set the
> >> > character encoding to UTF-8 manually in Firefox.
> >> >
> >> > Renaming that same file to .htm (when not using the echo statement),
> >> > and
> >> > loading it in the browser shows me the correct Farsi characters.
> >> >
> >> > Should I change something in Apache's settings for this to work?
> >> >
> >> > Thanks!
> >> >
> >> >
> >> > No, that should work perfectly fine. Are you sure that the PHP file
> >> > itself
> >> is utf-8?
> >> Could it be that you manually set the text encoding to something else in
> >> your browser, causing it to remember that setting?
> >>
> >> Perhaps you could link us to the page itself so we can have a look. Note
> >> that the best place to put that <meta> tag is right after the opening
> >> <head>
> >> tag, before any other header information.
> >>
> >> Michiel
> >
> >
> > If renaming the file as .htm shows the characters correctly, then
> > the .php file is most likely saved as utf8.
> >
> > Maybe Apache has been instructed to send all HTML with another encoding,
> > as it should send it out with the same encoding as the requested PHP
> > script.
> >
> > Thanks,
> > Ash
> > http://www.ashleysheridan.co.uk
> >
> >
> >
>
>
>

Try adding this before any output to the browser:

header('Content-Type: text/html; charset=utf-8');

Which should force the server to send the output in this specific
format.

Thanks,
Ash
http://www.ashleysheridan.co.uk