windows-server-2012 – IIS集成模式外来字符
好的,这让我们发疯了.我们在 Windows Server 2012和IIS8上运行的ASP.NET 4.0中构建了一个应用程序. 我们网站的几页翻译成多种语言,特别是日语和中文是有问题的. 如果我们将应用程序池置于集成模式 – 某些字符无法正确显示.我们受到了很少的问号. 如果我们将应用程序池置于经典模式,则所有字符都会正确显示.不幸的是,这不是我们的长期选择,因为它打破了网站上的其他功能. 有趣的事情 – 如果我们更改应用程序池中的“启用32位应用程序”设置 – >高级设置页面仍然显示虚假字符,但它们不正确地显示不同的字符. 最初我们怀疑页面中存在伪造字符或编码问题 – 但我们已经检查了所有内容,并验证了所有内容都是utf-8.将应用程序池切换到32位并看到不正确的字符显示错误导致我认为IIS中可能出现了问题. 在此先感谢您的任何帮助/见解/体验. 这是两个部分:从https://technet.microsoft.com/en-us/library/cc753449%28v=ws.10%29.aspx起 “在IIS 7中,应用程序池以两种模式之一运行:集成模式和经典模式.应用程序池模式影响服务器处理托管代码请求的方式.如果托管应用程序在具有集成模式的应用程序池中运行,则服务器将使用IIS和ASP.NET的集成请求处理管道来处理请求.但是,如果托管应用程序在具有经典模式的应用程序池中运行,服务器将继续通过Aspnet_isapi.dll路由对托管代码的请求,处理请求与IIS 6.0中运行的应用程序一样.“ https://forums.iis.net/p/1173138/1962242.aspx 一些有类似问题的人有一些修复,强迫IIS 7按照他们想要的方式处理字符集.它的要点是经典/ IIS 6接受您想要的编码,但在管道集成/ IIS 7中的某个地方使用其默认编码. 这里讨论了如何按照你想要的方式设置编码:https://stackoverflow.com/questions/9781157/how-to-set-iis-websites-default-encoding 你可能想要fiddler / firebug的东西来看看它的走向(utf8应该是ISO-8859-1,反之亦然). 最后但并非最不重要的,关于ASP.Net如何处理全球化问题的真实论文:https://support.microsoft.com/en-us/kb/893663.是2.0,但根据我的经验,许多类似的东西延续到更高版本,可能适用于4.0. (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2003 – 如何判断哪台计算机在网络共享上打
- 如何强制在基于Windows 10的PC上退出冻结或无响应的程序
- 航母竟然用Windows XP!过时操作系统将在国防军工续命
- 实锤!华为操作系统“鸿蒙”最早将于今秋面市!
- 如何在WiX中设置Windows Package Installer图标而不是默认设
- 终于大改版!Windows 11任务管理器新UI多图抢先看
- 注册表编辑器怎么打开,教您注册表编辑器如何打开
- 修复Ubuntu中 “E: The package cache file is corrupted,
- Windows PKI:如何导入,签署/发布和导出大量CSR?
- Linux常用命令:简单易学,但能解决95%以上的问题!