不知大家在写asp.net程序的时候有没有遇到这样的问题,当你的页面内有一个文本框,而你需要提取文本框里面的输入内容并进行数据库操作时(比如把输入的内容加到数据库中),
如果输入的内容是英文,完全没有问题,但当输入内容为中文的时候,就会发生无法提交的错误,或者可以提交,但是提交到数据库里面的内容已经变成了乱码。
这个时候可以检查一下web.config文件的设置是否有误,一般情况下应该是里面对输入输出的格式设置出现了问题,或者是根本就没有设定,这样就按照默认的只认英文,而对中文置之不理了(这个是我自己猜的,反正会出问题就是了-____-)。解决的办法是在<system.web></system.web>中加入对格式的限制。大家可以看下面的web.config文件的源代码:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
</system.web>
<appSettings>
<add key="color"
value="provider=microsoft.jet.oledb.4.0;data source=e:/aspx/practice/sy.mdb;"/>
</appSettings>
</configuration>
这里还有一种情况,如果你是用dw来做的代码,那么把第一行的编码设定改改或者删除再看看,因为dw会自做主张的设定一些东西,虽然有的时候很方便,但有的时候反而会添乱。
还有,如果没有设定什么web.comfig文件,那也会出这样的问题。
这个问题其实是我最近遇到的,一开始我以为是程序出现了错误,后来偶然的情况下发现用英文就没有问题……最后问题的解决还是在经典论坛。这里谢谢mmkk、chnama 和tzboy 。关于这个问题的讨论原贴大家可以
这个时候可以检查一下web.config文件的设置是否有误,一般情况下应该是里面对输入输出的格式设置出现了问题,或者是根本就没有设定,这样就按照默认的只认英文,而对中文置之不理了(这个是我自己猜的,反正会出问题就是了-____-)。解决的办法是在<system.web></system.web>中加入对格式的限制。大家可以看下面的web.config文件的源代码:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
</system.web>
<appSettings>
<add key="color"
value="provider=microsoft.jet.oledb.4.0;data source=e:/aspx/practice/sy.mdb;"/>
</appSettings>
</configuration>
这里还有一种情况,如果你是用dw来做的代码,那么把第一行的编码设定改改或者删除再看看,因为dw会自做主张的设定一些东西,虽然有的时候很方便,但有的时候反而会添乱。
还有,如果没有设定什么web.comfig文件,那也会出这样的问题。
这个问题其实是我最近遇到的,一开始我以为是程序出现了错误,后来偶然的情况下发现用英文就没有问题……最后问题的解决还是在经典论坛。这里谢谢mmkk、chnama 和tzboy 。关于这个问题的讨论原贴大家可以