Selamlar,
Bugün siteme sosyal medya paylaşım kodlarını eklerken bir sorun oluştu. Silince de sorunu düzeltemedim. Php hesaplama sisteminde Türkçe karakter sorunu oluştu. Çok fazla benzer sayfa olduğu için sorunu halledemedim.
Yardımcı olabilecek arkadaş var mı acaba?
PHP Türkçe karakter sorunu
7
●330
- 02-11-2015, 19:11:04
- 02-11-2015, 20:51:31Merhaba,
Bir örnek verirseniz ya da bir link vs yardımcı olmaya çalışalım ama soru bu şekilde olunca net bir şey söylemek güç
GalipErdem adlı üyeden alıntı: mesajı görüntüle - 02-11-2015, 22:48:14Sitenizde <head> tagının içine;
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Yukarıdaki meta kodunu eklerseniz düzelmesi lazım. Hala düzelmezse de ekstra olarak sayfanın kodlama biçimini UTF-8 Bomsuz yapın.
@GalipErdem; - 02-11-2015, 23:12:56HocamAliBAYRAM adlı üyeden alıntı: mesajı görüntüle
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> bu kodu ekleyince düzeldi ancak 300'e yakın sayfa var hepsinde aynı işlemi yapmam saatlerimi alır.
UTF-8 olarka görülüyor zaten bomsuz nedir onu anlamadım? - 02-11-2015, 23:40:49hesaplama2.php hesaplama3.php bunların her birisi ayrı ayrı php'ler mi ?
300 tane sayfaya tek tek sosyal medya eklediniz ve kaldırdınız da mı bu sorun oluştu?
Eğer yanıtınız evetse, evet tüm sayfaları tek tek açıp UTF8 olarak kaydetmeniz gerek. Eğer kendi sunucunuzu kullanıyorsanız ve linux ise ssh ile bağlanıp iconv ile encoding'leri değiştirebilirsiniz.
İşlem yapacağınız dosyaların önce yedeğini alın.
önce ;
file -bi gazi-universitesi-not-ortalamasi-hesaplama.php
ile encoding'e bakın. Daha sonra ;
iconv -f ESKI_ENCODING -t utf-8 gazi-universitesi-not-ortalamasi-hesaplama.php
şeklinde encoding'i değiştirerek olup olmadığını kontrol edin.
Eğer olduysa geriye dosyaların tümünü bu şekilde çevirmek kalıyor.
Dosyaların olduğu dizindeyken ;
for file in *.php; do iconv -f ascii -t utf-8 "$file" -o "${file%.php}" doneşöyle bi döngü ile hepsini çevirebilirsiniz.
Umarım sorununuz çözülür ve umarım gerçekten 300 dosya ayrı ayrıdır da boşuna tarif etmemişimdir.
Kolaylıklar
GalipErdem adlı üyeden alıntı: mesajı görüntüle - 02-11-2015, 23:50:43Hocam sosyal medyayı farklı bir php sayfasına ekledim çok alakasız ondan sonra oldu. Çok ilginç. Sitedeki hesaplamaların hepsi ayrı ayrı phpler hocam. Zaten şuan UTF-8 olarak gözükmekte. Bahsettiğiniz iconv ve encoding konusunu hiç anlamadım. İşlemleri nasıl yapabilirim?
bluexpres adlı üyeden alıntı: mesajı görüntüle - 03-11-2015, 00:24:33başka bi yerde başka bi şey daha yaptınız muhtemelen çünkü mümkün değil böyle bir şey olması. dosyaları bi yerden kopyalayıp almış olabilirsiniz.durup dururken bir dosyanın encoding'i değişmez bildiğim kadarıyla.
ben sayfanıza <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ekledim ve karakterler doğru gözüküyor. eğer tarif ettiğimi anlamadıysanız ne yazık ki tüm dökümanlara bunu tek tek eklemeniz gerekecek. Tam olarak neler yaptığınızı anlayabilsem belki geri çevirebilmek için bir yol aklımıza gelebilirdi ama şuan tek yol meta eklemeniz gibi gözüküyor. Ya da tarif ettiğim yolda -f utf-8 -t iso8859-9 da denenebilir.
ssh ile bağlanacak komut satırından tarif ettiğim şeyleri yapacaksınız. linux ise tabi.
windows ise bilemiyorum.
kolaylıklar
GalipErdem adlı üyeden alıntı: mesajı görüntüle