ASP.Net mvc5 我的网站不允许'åäö'
Posted
技术标签:
【中文标题】ASP.Net mvc5 我的网站不允许\'åäö\'【英文标题】:ASP.Net mvc5 my site dosen't allow 'åäö'ASP.Net mvc5 我的网站不允许'åäö' 【发布时间】:2015-10-26 11:32:47 【问题描述】:我正在处理一个 asp.net mvc5 项目,我只是注意到它不允许我使用 'åäö' 很好,它允许我使用这些字符,但它显示如下。 'ä' 等等。
奇怪的是,我可以在导航栏中使用字符,但在页面上却不允许。
这是我的登录页面:
应该说“Användarnamn”和“Lösenord”。
但是我的导航栏可以正常工作..
这是我共享的 _Layout 每个站点都继承自
<!DOCTYPE html>
<html lang="sv">
<head>
<title>Treetop @ViewBag.Title</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/modernizr")
<link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700&subset=all" rel="stylesheet" type="text/css"/>
</head>
<body>
@if (User.Identity.IsAuthenticated)
<div class="page-header">
<div class="page-header-top">
<div class="container">
<div class="page-logo">
<h3>Treetop Innovation</h3>
</div>
<a href="javascript:;" class="menu-toggler"></a>
</div>
</div>
<div class="page-header-menu">
<div class="container">
<div class="hor-menu ">
<ul class="nav navbar-nav">
<li>
@Html.ActionLink("Ny Rapport", "TimeReport", "Reports")
</li>
<li>
@Html.ActionLink("Rappotera frånvaro", "Absent", "Reports")
</li>
<li>
@Html.ActionLink("Rapporter", "Index", "Reports")
</li>
<li>
@Html.ActionLink("Inställningar", "Settings", "Reports")
</li>
<li>
@Html.ActionLink("Mina projekt", "Index", "Projects")
</li>
<li>
@Html.ActionLink("Begär semester", "Index", "Vacation")
</li>
</ul>
</div>
<div class=" hor-menu nav navbar-nav pull-right">
<ul class="nav navbar-nav">
<li><a>@User.Identity.Name</a></li>
<li>
@using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new id = "logoutForm", @class = "navbar-right" ))
@Html.AntiForgeryToken()
<a href="javascript:document.getElementById('logoutForm').submit()">Log off</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<script>
jQuery(document).ready(function ()
Metronic.init();
Layout.init();
Demo.init();
ComponentsPickers.init();
TableAdvanced.init();
);
</script>
@RenderBody()
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/modernizr")
@RenderSection("scripts", required: false)
</body>
</html>
这是不起作用的视图:
<body class="login">
<div class="logo">
<h3 style="color: white">Treetop Innovation</h3>
</div>
<div class="content">
@using (Html.BeginForm("LogOn", "Account", new ReturnUrl = ViewBag.ReturnUrl , FormMethod.Post, new @class = "login-form", role = "form" ))
@Html.AntiForgeryToken()
<div class="alert alert-danger display-hide">
<button class="close" data-close="alert"></button>
<span>
@Html.ValidationSummary(true, "", new @class = "text-danger" )
</span>
</div>
<h3 class="form-title">Logga in</h3>
<div class="form-group">
<div class="input-icon">
<i class="fa fa-user"></i>
@Html.TextBoxFor(m => m.UserName, new @class = "form-control", placeholder = "Användarnamn" )
</div>
@Html.ValidationMessageFor(m => m.UserName, "", new @class = "text-danger" )
</div>
<div class="form-group">
<div class="input-icon">
<i class="fa fa-lock"></i>
@Html.PasswordFor(m => m.Password, new @class = "form-control", placeholder = "Lösenord" )
</div>
@Html.ValidationMessageFor(m => m.Password, "", new @class = "text-danger" )
</div>
<div class="form-actions">
<div class="checkbox" style="padding: 0 20px">
@Html.CheckBoxFor(m => m.RememberMe)
Kom ihåg
</div>
<button type="submit" class="btn green-haze pull-right">
Login <i class="fa fa-arrow-right"></i>
</button>
</div>
</div>
</body>
【问题讨论】:
这些可能会有所帮助 ***.com/questions/10615072/… ***.com/questions/28805447/… 输入元素使用什么字体系列?可能正在使用的字体没有扩展字符集(我看到了 Open Sans 参考,但这并不意味着它被应用到任何地方)。 据我所知,它应该在每个地方都使用相同的字体......但我会看看谢谢。 @TiesonT。它似乎是相同的字体..我现在才注意到它在某些页面上有效,而在某些页面上却不起作用..很奇怪.. 那些无法正常显示的页面是否缺少字符集元标记? 【参考方案1】:这基本上是一个编码问题。阅读更多There Ain't No Such Thing as Plain Text
Användarnamn = Användarnamn
和
Lösenord = Lösenord
您可以对这些特殊字符使用 HTML 实体或 ISO Latin-1 代码。
https://www.utexas.edu/learn/html/spchar.html
更新 @Broam's 解决问题的答案
短版:编辑一个文件,选择文件 -> 高级保存选项。 不要将 UTF-8 更改为 Ascii,而是将其更改为 UTF-8。编辑:制作 确保您选择了没有字节顺序标记(BOM)的选项
【讨论】:
但是必须有办法解决这个问题,因为它可以在导航栏中工作,但不能在页面上工作.. ?这就是我获得价值的方式。 @Html.TextBoxFor(m => m.UserName, new @class= "form-control", placeholder = "Användarnamn" ) 所以你的解决方案只会让事情变得更糟。【参考方案2】:您必须使用正确的编码保存.cshtml
文件。
文件 > 将 MyFile.cshtml 保存为...
选择使用编码保存...
选择是替换它。
选择 UTF-8。
【讨论】:
以上是关于ASP.Net mvc5 我的网站不允许'åäö'的主要内容,如果未能解决你的问题,请参考以下文章
字符 Å Ä Ö 没有显示在我的 DDL 中,我如何告诉 restclient 使用特定的字符集?
UTF-8 with mysql and php in freebsd swedish chars (åäö) [重复]