Saya menggunakan perusahaan hosting dan akan mencantumkan file di direktori jika file index.html
tidak ada, menggunakan iso-8859-1 sebagai pengkodean default.
Jika servernya Apache, apakah ada cara untuk menyetel UTF-8 sebagai default?
Pembaruan: Selain itu saya menemukan bahwa itu sebenarnya menggunakan DOCTYPE HTML 3.2 dan kemudian tidak ada charset sama sekali ... jadi itu tidak mengatur pengkodean apa pun. Tetapi apakah ada cara untuk mengubahnya untuk menggunakan UTF-8?
apache
character-encoding
apache-config
nonopolaritas
sumber
sumber
/etc/apache2/conf-available/charset.conf
Tambahkan ini ke Anda
.htaccess
:Atau, jika Anda memiliki hak administrator, Anda dapat mengaturnya secara global dengan mengedit
httpd.conf
dan menambahkan:(Anda dapat menggunakan
AddDefaultCharset
di.htaccess
juga, tapi itu tidak akan mempengaruhi daftar direktori Apache dihasilkan seperti itu.)sumber
.htaccess
dapat mempengaruhi semua subdirektori juga, mungkin apache akan mencari.htaccess
direktori induk sampai ke direktori root folder situs web.htaccess
kerjanya di semua server - ini juga memengaruhi semua subdirektori. Namun, halaman daftar direktori yang dibuat oleh Apache tidak dapat dipaksa ke UTF-8 dengan menggunakan.htaccess
(AFAIK)..htaccess
file umumnya merupakan praktik yang buruk. Bug menjadi lebih sulit untuk dilacak ketika pengaturan server didistribusikan ke berbagai file. Ada sedikit penurunan kinerja juga: dengan setiap file yang diminta, Apache harus membaca file direktori.htaccess
dan semua.htaccess
file dari direktori induk..htaccess
Oleh karena itu, sebaiknya hanya digunakan untuk pengaturan spesifik direktori (misalnya, mencegah akses ke direktori tertentu) atau ketika sama sekali tidak ada kemungkinan untuk mendapatkan hak administrator.Lihat Petunjuk AddDefaultCharset , Petunjuk AddCharset , dan artikel ini .
sumber
Tempatkan
AddDefaultCharset UTF-8
ke/etc/apache2/conf.d/charset
. Nyatanya, itu sudah ada. Anda hanya perlu menghapusnya dengan menghapus sebelumnya#
.sumber
/etc/apache2/conf.d/charset
. Ini adalah file penyertaan khusus oleh distribusi Anda. Seperti halnya file lain yang tidakhttpd.conf
./etc/apache2/conf-enabled/charset.conf
di distribusi saya (Ubuntu 16.4). Juga tidak berfungsi.Di .htaccess tambahkan baris ini:
Ini untuk mereka yang tidak memiliki akses ke file conf server mereka. Ini hanya satu hal lagi untuk dicoba ketika upaya lain gagal.
Sejauh masalah kinerja terkait penggunaan .htaccess, saya belum melihat ini. Waktu muat halaman saya biasanya adalah 150-200 mS dengan atau tanpa .htaccess
Apa gunanya kinerja jika halaman Anda tidak ditampilkan dengan benar. Sebagian besar server bersama tidak mengizinkan akses pengguna ke file konfigurasi yang merupakan tempat pilihan untuk menambahkan rangkaian karakter.
sumber
.htaccess
file, jangan mulai sekarang. Ada alasan kinerja & administratif mengapa ini adalah Ide Buruk (tm)Saya tidak yakin apakah Anda memiliki akses ke konfigurasi Apache (httpd.conf) tetapi Anda harus dapat menetapkan Petunjuk AddDefaultCharset. Lihat:
http://httpd.apache.org/docs/2.0/mod/core.html
Cari modul mod_mime.c dan pastikan yang berikut ini disetel:
atau dokumen Apache 1.x yang setara ( http://httpd.apache.org/docs/1.3/mod/core.html#adddefaultcharset ).
Namun, ini hanya berfungsi jika "jenis konten respons adalah teks / biasa atau teks / html".
Anda juga harus memastikan bahwa halaman Anda memiliki set karakter juga. Lihat ini untuk info lebih lanjut:
http://www.w3.org/TR/REC-html40/charset.html
sumber
Ini belum teruji tetapi mungkin akan berhasil.
Di file .htaccess Anda, letakkan:
Namun, ini akan membutuhkan mod_headers di server.
sumber
<Files>
label.Untuk kelengkapannya, pada Apache2 di Ubuntu, Anda akan menemukan charset default di charset.conf di conf-available.
Batalkan komentar pada baris tersebut
sumber
Di mana semua file HTML dalam UTF-8 dan tidak memiliki tag meta untuk tipe konten, saya hanya dapat mengatur default yang diperlukan untuk file-file ini untuk dikirim oleh Apache 2.4 dengan menambahkan kedua arahan:
sumber
Sebagai petunjuk jika Anda memiliki nama file yang panjang di utf-8: secara default nama tersebut akan disingkat menjadi 20 byte, jadi mungkin saja karakter terakhir mungkin "dipotong menjadi dua" dan oleh karena itu tidak dikenali dengan benar. Kemudian Anda mungkin ingin mengatur yang berikut ini:
IndexOptions Charset=UTF-8 NameWidth=*
NameWidth
pengaturan akan mencegah pemendekan nama file Anda, membuatnya ditampilkan dengan benar dan dapat dibaca.Seperti yang telah disebutkan pengguna lain, ini harus ditambahkan di
httpd.conf
atauapache2.conf
(jika Anda memiliki hak admin) atau di.htaccess
(jika tidak).sumber
Biarkan kosong:
'default_charset' in WHM :::::: default_charset =''
ps - Dalam WHM go --------) Beranda »Konfigurasi Layanan» Editor Konfigurasi PHP ----) klik 'Advanced Mode' ----) temukan 'default_charset' dan biarkan kosong ---- cukup bukan apa-apa, bukan utf8, bukan ISO
sumber
<meta charset = 'utf-8'> menimpa charset default apache ( cf /etc/apache2/conf.d/charset )
Jika ini tidak cukup, maka Anda mungkin membuat file asli Anda dengan kumpulan karakter encoding iso-8859-1 . Anda harus mengubahnya menjadi set karakter yang tepat:
sumber
Dalam kasus saya, tambahkan ke .htaccess
sumber