程序开发完毕,部署到服务器上死活不能用,搞来搞去服务器编码是GB2312,直接无语……
导致了一系列的问题:
1、MVC中Request.Form取不到正确的值:MVC太智能了,即便你编码了,它依然会给你自动转,NND,微软这点也太过分了……
2、同样的SQL语句,在代码环境下不能执行,把sql语句拷贝出来放到查询分析器中就能……
解决方案:
1、MVC中指定Action的编码,见我上一篇文章(非随便,顺便说一句博客园,文章还没随笔做的好,一直就搞不懂那玩意干啥用的)
2、PHP中UrlEncode函数是根据PHP文件的编码来决定的,所以把编码重新
综上:MVC的改成UTF8,PHP文件另存成UTF8编码。
顺便说一句:日志真的很重要,尤其是在PHP跟服务器默认编码是GB2312的这种奇葩环境下……