Character encoding 字符编码和’;问题
即使在今天,人们也经常会频繁地看到字符编码问题。以最近的这一职位为例: (注意:这是一个示例,不是垃圾邮件职位…:-) 我最近在网站上、流行的即时通讯节目中以及CNN的背景图片中都看到了这一错误 我的问题分为两部分:Character encoding 字符编码和’;问题,character-encoding,cross-platform,mojibake,Character Encoding,Cross Platform,Mojibake,即使在今天,人们也经常会频繁地看到字符编码问题。以最近的这一职位为例: (注意:这是一个示例,不是垃圾邮件职位…:-) 我最近在网站上、流行的即时通讯节目中以及CNN的背景图片中都看到了这一错误 我的问题分为两部分: 是什么导致了这种特殊的、常见的编码问题 作为开发人员,我应该如何处理用户输入以避免常见的编码问题,如 这个?如果此问题需要简化以提供 有意义的回答,假设内容是通过web浏览器输入的 是什么导致了这种特殊的、常见的编码问题 当使用错误的字符集进行字符和字节之间的转换时,将发生这
- 是什么导致了这种特殊的、常见的编码问题李>
- 作为开发人员,我应该如何处理用户输入以避免常见的编码问题,如 这个?如果此问题需要简化以提供 有意义的回答,假设内容是通过web浏览器输入的
中™代码>示例,这是使用UTF-8读取的“
的典型CP1252表示形式。在UTF-8中,该字符存在于字节0xE2
、0x80
和0x99
中。如果您检查,那么您将看到这些字节正好代表字符–、€和™代码>
这可能是由于网站没有正确读取原始源代码(应该使用CP1252),或者在内容类型
响应标题中显示了错误的charset=CP1252
属性的UTF-8页面(或者该属性丢失;在Windows计算机上,将使用默认字符集CP1252)
作为一名开发人员,我应该如何处理用户输入以避免像这样的常见编码问题?如果这个问题需要简化以提供有意义的答案,那么假设内容是通过web浏览器输入的
确保使用已知的预定义字符集从任意字节流源(例如文件、URL、网络套接字等)读取字符。然后,确保使用Unicode字符集(最好是UTF-8)一致地存储、写入和发送字符
如果您熟悉Java(您的问题历史记录证实了这一点),您可能会发现它很有用