Bu kodlama gelecekte bir sorun olacak?

2 Cevap php

Ben bir php dosyası içinde bu işlevi vardır:

mysql_query("SET NAMES 'utf8'") or die(mysql_error()); 
mysql_query("SET CHARACTER SET 'utf8'") or die(mysql_error());

    some stuff happening here,

rename($src, $dest.$cat);

Sunucuda Thats, ve (en az benim tarayıcılarda çalışır) ben bugün kurgusunda.

Şimdi, benim yerel makinede (Loki ile benim kendi laptop) bu alışkanlık iş ben bunu sürece:

mysql_query("SET NAMES 'utf8'") or die(mysql_error()); 
mysql_query("SET CHARACTER SET 'utf8'") or die(mysql_error());

      some stuff happening here

$cat=utf8_decode($category);
rename($src, $dest.$cat);

Ve ben de meta=utf-8 bu php dosyası var.

$ Cat bir mysql_query onun içeriğini alır ...

Ben (bu sunucu üzerinde ve benim yerel makinede aynı şekilde neden çalışmadığını) farkı bilmek istiyorum?

Bu onu o şekilde alarak, farklı kullanıcıların tarayıcılarda sorunlara neden olur ve eğer ben bilmek istiyorum

2 Cevap

Windows dosya sistemi operasyonları Windows kullanan kod sayfasında yolları / dosya adlarını belirtmek gerektirir.

SO Ben bu nedenle size kullanmanız gerekir, sizin kod sayfası muhtemelen CP1252 gibi bir şey olduğunu tahmin ediyorum utf8_decode. Unutmayın, ne yazık ki, UTF-8 (65001) Windows 'kod ayarlamak olamaz.

Linux'ta, diğer taraftan, size istediğiniz ne olursa olsun kodlama kullanabilirsiniz. Ancak, tutarlı olmalıdır - UTF-8 dosya adını kullanarak bir dosyayı kaydetmek varsa, aynı byte dizisini kullanarak okumalıdır.

her ikisi de meta HTML tags ve SQL queries filesystem işlemleri etkilemez.

muhtemelen bir dosya sistemi konudur. Windows dosya adlarını recodesrc olabilir.