Aradım bir UTF-8 kodlu dosyada bu dersim var EnUTF8.Class.php:
class EnUTF8 {
public function ñññ() {
return 'ñññ()';
}
}
ve başka bir UTF-8 kodlu dosyada:
require_once('EnUTF8.Class.php');
require_once('OneBuggy.Class.php');
$utf8 = new EnUTF8();
//$buggy = new OneBuggy();
echo (method_exists($utf8, 'ñññ')) ? 'ñññ() exists!' : 'ñññ() does not exist...';
echo "\n\n----------------------------------\n\n"
print_r(get_class_methods($utf8));
echo "\n----------------------------------\n\n"
echo $utf8->ñññ();
Bu beklenen bir sonuç üretir:
ñññ() exists!
----------------------------------
Array
(
[0] => ñññ
)
----------------------------------
ñññ()
ama eğer ...
require_once('EnUTF8.Class.php');
require_once('OneBuggy.Class.php');
$utf8 = new EnUTF8();
$buggy = new OneBuggy();
echo (method_exists($utf8, 'ñññ')) ? 'ñññ() exists!' : 'ñññ() does not exist...';
echo "\n\n----------------------------------\n\n"
print_r(get_class_methods($utf8));
echo "\n----------------------------------\n\n"
echo $utf8->ñññ();
sonra garabeti görünüyor!:
ñññ() does not exist!
----------------------------------
Array
(
[0] => ñññ
)
----------------------------------
Fatal error: Call to undefined method EnUTF8::ñññ() in /var/www/test.php on line 16
Eh, şey, OneBuggy.Class.php UTF-8 çok kodlanmış ve EnUTF8.Class.php böylece hisseler absolutly şey olduğunu ...
nerede hata nedir?
UPDATED:
Peki, uzun bir hata ayıklama süre sonra OneBuggy.Class.php yapıcısı bunu buldum:
setlocale (LC_ALL, "es_ES@euro", "es_ES", "esp");
ben yaptım ...
//setlocale (LC_ALL, "es_ES@euro", "es_ES", "esp");
ve şimdi çalışıyor ama neden?.