2016-04-04 24 views
1

Birkaç hobi web sitesiyle oynuyorum. Programlamada yeni başlayan biri olduğum gerçeğinden dolayı bazen kaynaklarımı barındıran scriptlerimle ilgili bir sorunum var.
Olası sorunlardan kaçınmak için, ayrılmış bir sunucu (2 GB RAM'li Atom N2800) kiralamaya karar verdim.
Debian 8.3 (Lehçe dili), sonra Apache 2.4 ve PHP 5.6'yı yükledim.Apache 2.4, PHP 5.6.17 Debian 8.3, Varsayılan PHP üstbilgisinde kodlama nasıl kaldırılır?

Şimdiye kadar her şey çalışıyor. Normalde bir html dosyası görüntülenir. Ancak uzantısı .php olarak değiştirdiğimde, gönderilen varsayılan üstbilginin UTF-8 kodlaması vardır (bu nedenle, <meta> numaralı belgede metnin latin2 olarak kodlandığı bilgisini dikkate almaz.). Başlangıçta header() işlevini ekleyerek düzeltebilirim, ancak tamamen değiştirilmiş phpBB, yeteneklerimin ötesinde.

Örnekler:
http://37.187.105.171/1.html - latin2 HTML başlığında kodlaması hakkında hiçbir bilgi kodlanmış dosya, bu nedenle <meta> bilgileri kullanır.
http://37.187.105.171/1.php - aynı dosya, uzantı php ile değiştirildi - heder, UTF-8 kodlamasıyla ilgili bir bilgidir.
Ayrıca, 1_h.php (2'den fazla bağlantı yayınlayamaz), eklendiğiyle aynı dosyadır: <?PHP header('Content-Type: text/html; charset=iso-8859-2'); ?> başlangıç.

Varsayılan PHP üstbilgisinden kodlamayı nasıl kaldırabilirim?

+0

Bunu kaldırmak veya düzeltmek mi istiyorsunuz? Çünkü proje yapılandırmanızda sadece ini_set ('default_charset', 'iso-8859-2'); 'ise, PHP hayatınızı kolaylaştırabilir. –

cevap

0

değişiklik php.ini dosyasında bu satırı: php

default_charset = "utf-8" 
+0

Ve OP'nin istediği gibi bir varsayılan kodlama göndermemenin bir yolu var mı? Kodlama seçimini öğesine bırakmak mı istiyorsunuz? –

0

: html

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

:

<meta http-equiv="content-type" content="text/html; charset=utf-8" > 

varsayılan kodlama: phpRoot/php

. ini:

default_charset = "utf-8"