使用FckEditor上传文件一直都很正常,但后来修改了Fck的核心,增加了上传成功后,将上传文件的相关信息写入数据库
发现中文文件名的文件上传不正常(偶尔不成功)后来终于发现是中文乱码引起的(中文乱码是之前就发现了,但没有发现影响取文件后缀)
提到中文乱码,首先肯定是由于编码问题引起的
所以就从编码转换入手,尝试了将UTF-8转换为GB2312,但发现无论如何没有办法转成功
看到很多文章说修改配置文件
<globalization requestEncoding="UTF-8" responseEncoding="UTF-8"/>这样是挺Easy的,但是其他页面就是乱套,因为是其他页面都是基于GB2312的
这里突然灵光一闪,由于我的FCK是单独是一个目录的,我给这个目录指定一个专用的web.config,指定编码为utf-8不就完整了嘛,一试果然有效,顿时一身轻构了!
发出来与大家分享之。
这里贴出一个比较干净的web.config的全部内容:
web.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<compilation defaultLanguage="c#" debug="true" />
<authorization>
<allow users="*" />
</authorization>
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
<customErrors mode="Off" />
<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" />
<pages validateRequest="false" enableEventValidation="false" enableViewStateMac="false" viewStateEncryptionMode ="Never" />
<xhtmlConformance mode="Legacy"/>
<httpRuntime maxRequestLength="2097151" executionTimeout="3600"/>
</system.web>
</configuration>
<configuration>
<system.web>
<compilation defaultLanguage="c#" debug="true" />
<authorization>
<allow users="*" />
</authorization>
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
<customErrors mode="Off" />
<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" />
<pages validateRequest="false" enableEventValidation="false" enableViewStateMac="false" viewStateEncryptionMode ="Never" />
<xhtmlConformance mode="Legacy"/>
<httpRuntime maxRequestLength="2097151" executionTimeout="3600"/>
</system.web>
</configuration>