问题描述
ASPX 渲染法语重音字符有什么问题吗?
Is there any problem with ASPX to render french accented characters?
我正在使用 utf-8 编码.
I am using utf-8 to encode.
我以前从未遇到过这样的问题(但由于这是我第一次在 ASP 服务器上工作,有什么解决办法吗?)
I never had any problem like this before (but since this is the first time I am working on an ASP server is there any fix?)
例如Événements = ÉvénementsJournées fériées = Journées fériées
e.g Événements = Événements Journées fériées = Journées fériées
这是编码问题吗?还是我需要放置任何特定代码才能正确呈现它.
Is this an encoding problem? or is there any specific code I need to place to render it correctly.
这是一个示例
页面内容为:
Pour recevoir les communications de l’école par courriel, veuillez nous indiquer votre adresse courriel
应该是:
Pour recevoir les communications de l'école par courriel, veuillez nous indiquer votre adresse courriel
推荐答案
到底是什么问题?您是否在文件顶部的页面指令中设置了@Codepage=65001?您是否使用正确的编码标记了内容类型,以便客户端知道它得到了什么?
What's the problem, exactly? Have you set @Codepage=65001 in the page directives at the top of your file? Have you marked the content-type with the correct encoding so that the client knows what its getting?
如果您看到问号,则可能是您没有正确设置响应代码页.如果您看到两个不相关的字符代替带有变音符号的单个字符,则您没有告诉客户端将页面视为 UTF-8 需要知道什么,例如
If you see question marks, it's probable that you haven't set the response code page correctly. If you see two unrelated characters in place of a single character with a diacritic , you haven't told the client what it needs to know to treat the page as UTF-8, e.g.
Response.CodePage = 65001 ;
Response.CharSet = "utf-8" ;
asp.net 和 asp 编码处理之间存在细微差别,因此,如果您更具体地了解您正在使用的技术,这也会有所帮助,但这应该可以帮助您实现大部分目标.
There are slight differences between asp.net and asp handling of encoding, so it would also be helpful if you were more specific about which technology you're using, but that should get you most of the way there.
在 ASP.Net 中,您可以在 web.config 文件中设置站点范围的编码,这样您就可以避免在每个页面上弄乱 Response.CodePage 和 Request.CodePage.您仍然希望使用 HTML 中的 meta http-equiv content-type 元素或使用 Response.Charset 来标记 Response Charset.
In ASP.Net, you can set the encoding site-wide in your web.config file, so you can avoid messing with Response.CodePage and Request.CodePage on every page. You still want to mark the Response Charset using the meta http-equiv content-type element in your HTML or using Response.Charset.
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8" />
如果您出于某种原因不想使用 web.config,则应在页面指令中输出任何文本之前在 .aspx 文件中使用 <%@CodePage=65001 %>.
If you don't want to use web.config for this for some reason, you'd use <%@CodePage=65001 %> in your .aspx file before you output any text, in the page directives.
相关页面似乎包含错误编码的 UTF-8.内容是直接来自 .aspx 文件还是从数据库中提取?
It looks like the page in question contains incorrectly encoded UTF-8. Is the content coming straight from the .aspx file or is it being pulled from a database or something?
这篇关于重音的法语字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!