DotNetNuke 中文乱码问题的解决
在制作DNN皮肤和开发模块时会遇上中文乱码的问题,如下是解决方法。
在制做一个DotNetNuke Skin的时候,皮肤上面使用了中文字,可放上去后皮肤的中文字却变成乱码了。
解决方法是:
以上两种问题的起因
这是DNN的一个BUG,DNN执行模块安装时,会把所有的SQL Script都转为ASCII,所以遇上双字节的文字都会变为乱码。具体分析参考:开源ASP.NET程序是如何处理文件编码的-从DotNetNuke看过来
解决方法是:
把这个部分移到Page_Load()里面做,就避开了DNN的BUG.
皮肤乱码
在制做一个DotNetNuke Skin的时候,皮肤上面使用了中文字,可放上去后皮肤的中文字却变成乱码了。
解决方法是:
- 在Dreamweaver中,点击“修改->页面属性->标题/编码”,修改“编码”为"UTF-8"
- 修改web.config中的globalization节如下:
<globalization culture="zh-CN" uiCulture="zh-CN" requestEncoding="UTF-8"
responseEncoding="UTF-8" fileEncoding="UTF-8" />(直接拷贝请去掉回车)
responseEncoding="UTF-8" fileEncoding="UTF-8" />(直接拷贝请去掉回车)
模块中的中文乱码
在VS 2005中开发的模块,安装之后界面的中文变成乱码。
解决方法:
- 在VS 2005中,点击"File->Advanced Save Option",Encoding 选择"Unicode(UTF-8 with signature)-Codepage 65001)"
- 跟皮肤乱码中的步骤相同,修改web.config文件。
以上两种问题的起因
问题的原因就是网页的编码和程序设定的解码方式不一致,一般的DNN帮助文档会要求修改globalization节中的编码方式为GB2312,但这种方式会造成DNN对一些中文的不正常解码。
SQL Script文件乱码
模块的SQL Script文件(如01.00.00.SqlDataProvider)中含有中文(一般我们是用来填充一些示例数据),上传、安装模块后,写入数据库的中文字段都变成乱码。详细问题示范可以参考这里:SQL SERVER 2005 EXPRESS与ASP.net出现中文变成问号的奇怪问题。很可能不是通常的utf-8编码问题。这是DNN的一个BUG,DNN执行模块安装时,会把所有的SQL Script都转为ASCII,所以遇上双字节的文字都会变为乱码。具体分析参考:开源ASP.NET程序是如何处理文件编码的-从DotNetNuke看过来
解决方法是:
把这个部分移到Page_Load()里面做,就避开了DNN的BUG.
分类:
DotNetNuke
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述