PHPでsocket_read
の機能を使用して、javaアプリケーションから送信されたデータを読み取っています。しかし、私がキリル文字を送信しようとすると、PHPは間違ってそれを解釈します。PHP:socket_readキリル文字の場合のエンコードの問題
Java側:
...
ServerSocket socket = new ServerSocket(port);
Socket connection = socket.accept();
DataOutputStream response = new DataOutputStream(connection.getOutputStream());
String responseStr = "коти"; //cyrillic text
response.writeBytes(responseStr);
response.flush();
response.close();
...
PHP側:
...
$response = "";
$next = '';
while ($next = socket_read(static::getSocket(), self::READ_PORT)) {
$response .= $next;
}
echo "<br>Response: " . $response . "<br>";
...
出力:
Response: :>B8
予想される出力:
Response: коти
ラテン文字でうまく動作します。機能mb_convert_encoding
は役に立ちません。 ご協力いただきありがとうございます。