Memcache yabancı Langage saklanması (yani olmayan İngilizce) metin

1 Cevap php

Ben memcached bazı metin değerlerini depolamak. Böyle bir dize örneğidir:

El Salvador (República De El Salvador)

Ben dizesini almak çalıştığınızda, ben boş bir dize olsun. Ben bu UTF-8 dizeleri ile ilgili bir şey olduğunu sanıyorum. Nasıl memcached yabancı dil metni saklayabilirsiniz?

1 Cevap

Ben bir Unicode uzman değilim, ama ben küçük bir kod yazdım bu yüzden merakımı uyandırdı:

http://static.bwerp.net/~adam/20100420/m.php

Burada, oldukça iyi iş gibi görünüyor. Eğer bir UTF-8 sorunu olduğunu düşündüğünü söyledi. Eğer aksanlı karakter kaldırırsanız ne olur?

Kuşaklar için, burada bağlantılı dosyadaki kod:

header('Content-type: text/html; charset=utf-8');

echo '<pre>';

$s = utf8_encode("El Salvador (Rep\xfablica De El Salvao)");
echo '$s = ', $s, '<br>';
var_dump( mb_detect_encoding($s) );

$m = new Memcache;
$m->addServer('localhost', 11211);

var_dump( $m->set('foobarcheeze', $s) );
var_dump( $m->get('foobarcheeze') );

echo 'strlen($s) = ', strlen($s), '<br>';
echo 'mb_strlen($s) = ', mb_strlen($s), '<br>';
echo 'mb_strwidth($s) = ', mb_strwidth($s), '<br>';