2015-05-01 34 views
3

我创造了我的响应表的表头的CSS是这样的:打印出突变元音与CSS

td:nth-of-type(1):before { content: "Abfahrtszeitpunkt"; } 
td:nth-of-type(2):before { content: "Startort"; } 
td:nth-of-type(3):before { content: "Zielort"; } 
td:nth-of-type(4):before { content: "Karte"; } 
td:nth-of-type(5):before { content: "Bewertung"; } 
td:nth-of-type(6):before { content: "Fahrt löschen"; } 

但是,当我在我的网页浏览器加载此表中的“ö”不显示在得到正确的方法。网站只打印出带有问号的菱形。我已经尝试使用html和javascript修复它,但它不起作用。有没有简单的方法来解决我的问题?

+1

Unicode编码问题? – Huey

+3

有没有什么理由让你这样做,而不是把你的内容放在HTML中,它属于哪里? –

+1

是的。我试图创建一个响应表,其中表头中的信息(在最小量的px之后)用作表的列,这是它对我来说唯一的方式。 – Encanis

回答

5

如果没有更多的继续,很难具体说明,但在某个地方某些东西正在被解释为一种字符编码,而实际上它是另一种字符编码。确保整个堆栈使用相同的编码(例如UTF-8)很有用。强制性链接:The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

作为解决方法,您可以使用\f6在你的CSS ö(在HTML中,你会使用ö),但是这是一个解决方法,而不是解决方案。解决方案是确保您的文件编码一致,并且您的服务器正在为它们提供必要的标题以说明该编码是什么。这里有一个清单:

  • 选择一个编码。 UTF-8是西方文本非常受欢迎的选择,得到了工具的大力支持。
  • 您的编辑器和其他内容生成工具:确保他们知道您希望以UTF-8工作,而不是您的操作系统的默认编码(这一点各不相同;对于许多现代* nix系统,它是UTF-8或ISO-8859-1;对于Windows,它是ISO-8859-1或Windows-1252 [其中非常类似于])。
  • 您的数据库:如果您的堆栈中有数据库,则需要确保表格中的文本列使用正确的编码。
  • 您的Web服务器:确保其设置为一个正确和完整Content-Type头传送文件,如Content-Type: text/html; charset=UTF-8(HTML文件)
  • 我始终把<meta charset="UTF-8"> meta标签在我的HTML文件head顶部。这主要是因为如果我通过浏览器(而不是通过服务器)直接从文件系统打开它们,浏览器就知道我正在使用哪种编码。一些HTML编辑器很聪明,可以看到它,并确保它们以指定的编码工作。
+1

感谢您长时间的详细发布,我会尽力用所有这些信息修复它! – Encanis