Tidak, itu tidak mungkin dari dalam HTML. Header respons server diutamakan di atas meta-tag dokumen. Seperti yang ditentukan dalam 5.2.2 Menentukan pengkodean karakter - HTML 4.01 Spesifikasi :
Singkatnya, menyesuaikan agen pengguna harus memperhatikan prioritas berikut ketika menentukan pengkodean karakter dokumen (dari prioritas tertinggi ke terendah):
- Parameter "charset" HTTP di bidang "Content-Type".
- Deklarasi META dengan "http-equiv" diatur ke "Content-Type" dan nilai yang ditetapkan untuk "charset".
- Atribut charset ditetapkan pada elemen yang menunjuk sumber daya eksternal.
Jadi ini memerlukan konfigurasi di sisi server. Namun seiring bab ini berlanjut:
Agen pengguna dapat menyediakan mekanisme yang memungkinkan pengguna untuk mengganti informasi "charset" yang salah. Namun, jika agen pengguna menawarkan mekanisme seperti itu, seharusnya hanya menawarkannya untuk penelusuran dan bukan untuk diedit, untuk menghindari pembuatan halaman Web yang ditandai dengan parameter "charset" yang salah.
Dalam kasus saya header Tipe Konten server berisi tipe mime kanan tetapi rangkaian karakter yang salah .
Ternyata, konfigurasi Apache httpd saya telah mengatur AddDefaultCharset
dihidupkan yang menambahkan ; charset=ISO-8859-1
bagian. Menempatkan ke direktori root situs web .htaccess
baris berikut:
AddDefaultCharset Off
informasi charset telah dihapus:
$ curl -I http://example.com/file.html
HTTP/1.1 200 OK
Date: Fri, 19 Oct 2012 15:07:52 GMT
...
Content-Type: text/html
(lihat baris terakhir, tidak ada ; charset=...
bagian). Ini dikombinasikan dengan tag meta html memicu heuristik browser tersebut untuk mengambil alih charset dari tag meta. Situs web diterjemahkan dengan benar.
Diuji dengan:
- Google Chrome v. 22.0.1229.94
- Firefox v. 16.0.1
- Lynx Versi 2.8.7rel.1 (05 Jul 2009)
Ketiga browser ini memiliki masalah dengan konfigurasi asli dan berfungsi sekarang (semuanya pada Fedora 17).
- Opera 12.02
- Internet Explorer 6 (Win XP SP3)
Tidak ada masalah sejak awal. Keduanya lebih memilih UTF-8 dari meta-tag daripada pengaturan ISO-8859-1 dari server.
Tidak mendukung UTF-8 sehingga selalu memilih Barat (Latin1) terlepas dari pengaturan server dan meta-tag.