/ / Comment définir PHP socket_write et socket_read le codage de caractères? - php, sockets, encodage de caractères

Comment définir les scripts PHP socket_write et socket_read? - php, sockets, encodage de caractères

Je suis en train d’écrire un serveur PHP et le client envoie des données dans un codage de caractères spécifique. Maintenant, je veux dire au serveur de lire et d’écrire des données dans ce même ensemble de codage de caractères.

Comment dois-je spécifier le jeu de codage de caractères pour PHP "s socket_read et socket_write les méthodes?

Réponses:

2 pour la réponse № 1

Ces fonctions transmettent la chaîne non convertie(octet par octet), vous ne pouvez donc pas définir un codage de caractères. Mais cela signifie également que vous n’avez pas à le faire. Vous aurez exactement la même chaîne de l’autre côté avec le même encodage.

Vous pouvez le convertir avant d'envoyer / après avoir reçu la chaîne à l'aide de mb_convert_encoding().


1 pour la réponse № 2

PHP a presque zéro caractère automatiquesupport d'encodage. "Vous devrez garder trace de l’encodage d’une chaîne donnée et vous assurer qu’elle est convertie en un encodage approprié chaque fois qu’elle entre ou sort de votre code. Une bonne façon de le faire est de décider que toutes les chaînes interales sont dans un certain encodage ( PHP, par exemple) et convertir chaque chaîne entrante en un codage lors de son insertion.

(Ou utilisez une autre langue)