7

即使是最专业的网站也做错了,这很烦人。发布的文字变成了不可读的东西。我没有太多关于编码的信息。我只是想知道让这样一个基本的事情变得如此困难的问题。

  • HTTP 编码是否限制某些字符?
  • 用户是否需要发送有关他们正在使用的字符集/编码的信息?
  • 假设一切都按原样到达服务器,是否使用编码保存导致问题的文本?
  • 是关于浏览器实现的吗?
  • 我们是否需要一些 JavaScript 技巧来使其工作?

有没有绝对的解决方案?它可能有其局限性,但 StackOverflow 似乎使它起作用。

4

1 回答 1

8

我怀疑需要确保整个堆栈小心处理编码:

  • 指定支持多种国际字符的网页字体 (CSS)。
  • 指定正确的 lang/charset HTML 标记属性并确保浏览器使用正确的编码。
  • 确保使用标头中指定的适当字符集发送 HTTP 请求。
  • 确保 HTTP 请求的内容在您的 Web 请求处理程序中正确解码
  • 使用国际化友好的编码/排序规则(例如 UTF-9/UTF-16)配置您的数据库/数据存储,而不是只支持拉丁字符(某些数据库中的默认设置)。

前几个通常由所选的浏览器和 Web 框架处理,但如果您搞砸了 DB 编码或使用字符集有限的字体,将没有人可以拯救您。

于 2011-04-19T21:04:50.893 回答