带重音的Html / JavaScript字符

时间:2017-05-18 14:15:45

标签: javascript html

所以我有一个带有一些javascript的html页面。 我想用它来打开.csv文件。但每次文件加载带重音的所有字符(如:á, í, ç, ã, ê and º)时,它都会显示为�。 代码:

https://pastebin.com/bhjkwktT

无论如何都要让角色出现,或者至少改变为正常角色(a,e,i等)?

这个"程序"将在我的密切网络中,并通过共享文件夹在不同的计算机中使用。

1 个答案:

答案 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>

titlelinkscript元素不在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";