Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置PHP套接字写入和套接字读取字符编码?_Php_Sockets_Character Encoding - Fatal编程技术网

如何设置PHP套接字写入和套接字读取字符编码?

如何设置PHP套接字写入和套接字读取字符编码?,php,sockets,character-encoding,Php,Sockets,Character Encoding,我正在编写一个PHP服务器,客户端正在以特定的字符编码发送数据。现在,我想告诉服务器以相同的字符编码集读取和写入数据 如何为PHP和方法指定字符编码集?这些函数传输未转换的字符串(即逐字节),因此无法设置字符编码。但这也意味着,你不必这么做。您将在另一侧使用完全相同的编码使用完全相同的字符串 您可以使用在发送字符串之前/接收字符串之后对其进行转换。PHP几乎没有自动字符编码支持。您必须跟踪任何给定字符串的编码方式,并确保每次输入或输出代码时都将其转换为适当的编码方式。这样做的一个好方法是确定所有

我正在编写一个PHP服务器,客户端正在以特定的字符编码发送数据。现在,我想告诉服务器以相同的字符编码集读取和写入数据


如何为PHP和方法指定字符编码集?

这些函数传输未转换的字符串(即逐字节),因此无法设置字符编码。但这也意味着,你不必这么做。您将在另一侧使用完全相同的编码使用完全相同的字符串


您可以使用在发送字符串之前/接收字符串之后对其进行转换。

PHP几乎没有自动字符编码支持。您必须跟踪任何给定字符串的编码方式,并确保每次输入或输出代码时都将其转换为适当的编码方式。这样做的一个好方法是确定所有内部字符串都采用某种编码(如PHP),并在输入时将每个传入字符串转换为该编码


(或使用另一种语言)

我明白这一点。但是,当服务器发送数据时,它将以什么字符编码集执行此操作?如何设置此默认字符编码?它在字符串的字符集中发送。嗯。。。以下字符串可以是Unicode,也可以是UTF-8:“hello”。那么我如何让它从两个中选择一个呢?或者,当我设置字符串时$string=“hello”-如何使它以特定的编码设置字符串?如果您编写$string=“hello”,它将具有语句所在的源文件的编码。您的“hello”-示例表明您需要更多关于字符编码的背景信息(utf8是unicode变体)。我建议: