所以我有一个带有一些javascript的html页面。
我想用它来打开.csv
文件。但每次文件加载带重音的所有字符(如:á, í, ç, ã, ê and º
)时,它都会显示为�。
代码:
无论如何都要让角色出现,或者至少改变为正常角色(a,e,i等)?
这个"程序"将在我的密切网络中,并通过共享文件夹在不同的计算机中使用。
答案 0 :(得分:4)
发生的事情是网页使用的字符编码与.csv文件的字符编码不同。这会导致从.csv文件中读取的字符使用用于对其进行编码的不同机制进行解码,从而导致显示错误的字符。
确保两个文件都以UTF-8格式保存,而不是ANSI格式,然后在您的网页中,确保此行显示在head
部分的开头。
<meta charset="utf-8">
现在,查看您链接的代码,您的HTML甚至无效,因为您有几个不在head
元素内部的元素。
你有这个:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<title>Lista</title>
<link rel="stylesheet" href="css/csvtable.css" type="text/css" />
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.csvToTable.js"></script>
<link href="Lista.css" type="text/css" rel="stylesheet">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta charset="utf-8" />
</head>
<body>
title
,link
和script
元素不在head
部分内。
此外,您使用的是HTML5 DOCTYPE
,但随后指定了XHTML 1.0命名空间。然后,您将使用每种语言的语法继续指定编码两次。您最有可能(除非您有某些特定原因)想要HTML5。
应该是这样的:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Lista</title>
<link rel="stylesheet" href="css/csvtable.css">
<script src="js/jquery-1.4.2.min.js"></script>
<script src="js/jquery.csvToTable.js"></script>
<link rel="stylesheet" href="Lista.css">
</head>
<body>
您还应该确保您的其他外部文件(.css和.js文件)也使用UTF-8编码保存(不要担心第三方文件,因为这已经完成)
在CSS文件中,使用正确的编码保存文件通常就足够了,但是你可以更进一步,正式 declare the encoding 将它放在.css的最开头档案:@charset "UTF-8";