繁体   English   中英

如何检测字符集编码?

[英]How to detect character set encoding?

例如,将中文文本(GB2312)粘贴到html页面的文本框(或文本区域)中并发布表单。 在服务器端,是否有任何方法可以检测到这个字符集?

如果属于不同字符集的文本粘贴在文本框中,该检测将如何表现?

您需要通过向表单添加accept-charset =“UTF-8”(或类似)属性来告诉浏览器要使用的编码。 显然这默认为页面的字符集 ,但我不会指望它。 浏览器不会告诉您在提交表单时使用的编码,因此您需要假设它使用了您告诉它的那个。

Web浏览器应在发布数据时发送包含编码的内容类型。

我发现在需要编码之前将文本视为“只是文本”(没有任何特定的编码)会很有帮助。 因此浏览器不应该关心用于最初生成文本的编码(如果有的话)(例如,如果它是从文件复制和粘贴的,则文件的编码是无关紧要的)。 它决定了将它发布到服务器时使用的编码,显然确保它是一个覆盖它需要发送的所有字符的编码。

如果你在服务器上使用php,你可以使用mb_detect_encoding

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM