Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
编码(UTF-x)和XML_Xml_Encoding_Utf 8 - Fatal编程技术网

编码(UTF-x)和XML

编码(UTF-x)和XML,xml,encoding,utf-8,Xml,Encoding,Utf 8,我正在使用一个电子邮件系统,我们面临着编码问题。我们正在通过MQ向电子邮件系统发送一个XML字符串。XML的标记包含双字节字符(日语汉字)。XML字符串中的编码指定UTF8。当电子邮件应用程序接收到字符串时,他们只需获取每个标记并将其解析到电子邮件正文中 我相信还有一步没有走。XML字符串的接收者/作者是否需要在生成电子邮件正文之前添加一个步骤,以便进行正确的编码,以便正确显示/打印汉字。XML的编码状态为UTF-8,因此内容必须正确编码为UTF-8,否则XML格式不正确。电子邮件可以使用许多不

我正在使用一个电子邮件系统,我们面临着编码问题。我们正在通过MQ向电子邮件系统发送一个XML字符串。XML的
标记包含双字节字符(日语汉字)。XML字符串中的编码指定UTF8。当电子邮件应用程序接收到字符串时,他们只需获取每个标记并将其解析到电子邮件正文中


我相信还有一步没有走。XML字符串的接收者/作者是否需要在生成电子邮件正文之前添加一个步骤,以便进行正确的编码,以便正确显示/打印汉字。

XML的编码状态为UTF-8,因此内容必须正确编码为UTF-8,否则XML格式不正确。电子邮件可以使用许多不同的字符集,因此必须将XML解码为Unicode,然后重新编码为电子邮件实际使用的任何字符集。您最好的选择是确保XML编码为UTF-8,在收到XML后进行验证,然后使用UTF-8发送电子邮件。那么您就不必担心解码XML并重新编码其内容。

当您说标记的内容是双字节字符时,您的意思是它们是用JIS之类的东西编码的吗?我们从另一个存储了汉字字符的旧应用程序接收名称的数据。我们依次将字符(未更改)放入XML消息中。接收应用程序未执行任何类型的转换。他们只是简单地将字符“按原样”放在电子邮件正文中。字符不是汉字(垃圾)。问题在于我们是否应该在MQ消息中对名称进行任何编码,该消息只包含一个字符字符串。这有用吗?