如何在网站中正确显示所有非英文字符?

Ufu*_*arı 7 html character-encoding non-english

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

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

这有绝对的解决方案吗?它可能有其限制,但StackOverflow似乎使其工作.

Iva*_*tev 8

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

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

前几个通常由浏览器和Web框架选择处理,但如果你搞砸DB编码或使用字符集有限的字体,将没有人可以保存.