Eu estou escrevendo um servidor PHP eo cliente está enviando dados em uma codificação de caracteres específica.Agora, eu quero dizer ao servidor para ler e gravar dados neste mesmo conjunto de codificação de caracteres.
Como devo especificar o conjunto de codificação de caracteres para PHP? socket_read e socket_write métodos?
Respostas:
2 para resposta № 1Essas funções transmitem a string não convertida(ou seja, byte by byte), então você não pode definir uma codificação de caracteres. Mas isso significa também que você não precisa. Você terá exatamente a mesma string do outro lado com a mesma codificação.
Você pode convertê-lo antes de enviar / depois de receber a string usando mb_convert_encoding()
.
1 para resposta № 2
PHP tem quase zero caractere automáticosuporte de codificação. Você terá que manter o controle de qual codificação é qualquer string e certificar-se de que ela seja convertida para a codificação apropriada toda vez que ela entrar ou deixar seu código. Uma boa maneira de fazer isso é decidir que todas as strings estão em uma certa codificação ( por exemplo, PHP) e converter todas as strings de entrada para essa codificação em seu caminho.
(Ou use um idioma diferente)