将文件编码更改为UTF-8后,为什么会有效?

将文件编码更改为UTF-8后,为什么会有效?

问题描述:

I faced a problem in displaying UTF-8 content (Tamil text) .

<?php
// SAMPLE CODE
header('Content-Type: text/plain; charset=UTF-8');
echo 'Hello Loréane !';

After i googled , changed the encoding of file in editor to 'UTF-8' from 'ANSI' , Now the problem solved i got the correct content in browser

And my question is

Why it works after I changed the encoding type in file , even though i sent UTF-8 headers before that doesn't work ?

header('Content-Type: text/plain; charset=UTF-8');

This just informs the browsers what kind of content you're going to send it and how it should treat it. It does not set the encoding of the actual content you're sending. It's completely up to you to fulfil your own promise. Your content is not going to magically transform from whatever to UTF-8 just because you set that header. If you tell the browser to treat the content as UTF-8, but you're sending it Latin-1 encoded data, of course it will break.