Howto PHP socket_write ve socket_read karakter kodlamasını ayarlama?

2 Cevap php

Ben bir PHP sunucu yazıyorum ve müşteri belirli bir karakter kodlaması veri gönderiyor. Şimdi, bu aynı karakter kodlama kümesindeki verileri okumak ve yazmak için sunucuyu söylemek istiyorum.

Nasıl PHP'nin socket_read ve socket_write yöntemleri için karakter kodlama kümesi belirtmek gerekir?

2 Cevap

Eğer bir karakter kodlaması ayarlanamaz böylece bu fonksiyonlar, dize dönüştürülmemiş (byte yani bayt) iletir. Ama bu size yok, hem de gelir. Sen aynı kodlama ile diğer tarafta aynı dize olacak.

Sen mb_convert_encoding() kullanarak dizeyi aldıktan sonra / göndermeden önce dönüştürebilirsiniz.

PHP, sıfır otomatik karakter kodlama desteği yakın sahiptir. Eğer herhangi bir dize kodlama olduğu takip ve apropriate kodlama girerken veya kodunuzu bırakır her zaman dönüştürülür alır emin olmak gerekir. Bunu yapmanın iyi bir yolu bir kez tüm interal dizeleri belli bir kodlama (örneğin PHP) olan karar ve içeri yolunda olduğunu kodlama her gelen dize dönüştürmektedir

(Ya da farklı bir dil kullanmak)