▲▲▲再加100分,看过《asp.net web站点高级编程》的朋友请进▲▲▲▲▲▲▲▲▲▲▲▲▲
我下了C#版的源码,进行了如下改动:
一、我的SQl Server用的是windows验证,修改各个config文件的数据库连接字符串为“Data Source=localhost;Integrated Security=true;Initial Catalog=thePhile;trusted_connection=true”
二、修改Machine.Config的<processModel>标签里面的userName="SYSTEM"
三、重启计算机。
------------------------------------------------------------------------
现在遇到一个新问题,就是站点里面不能使用中文,比如:我添加一个中文的新闻,结果就全部显示的“?”,我把数据库里面的相关字段也改成了ntext类型或者nvarchar类型,排序规则改成了Chinese_PRC,这样在数据库里面可以添加中文内容,但是通过页面进行添加还是显示“?”请问是怎么回事,怎么解决?
***********************************************************************
还有,我打开论坛帖子的时候,页面显示的是:
Page Error
--------------------------------------------------------------------------------
An unexpected error has occurred on this page. The system administrators have been notified. Please feel free to contact us with the information surrounding this error.
The error occurred in: http://localhost/ThePhile/Modules/Forums/Topic.aspx?TopicID=56
Error Message: 对 text 数据类型不支持代码页转换。从: 1252 到: 936。
--------------------------------------------------------------------------------
Stack Trace:
System.Data.SqlClient.SqlException: 对 text 数据类型不支持代码页转换。从: 1252 到: 936。 at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) at Wrox.WebModules.Data.DbObject.RunProcedure(String storedProcName, IDataParameter[] parameters, String tableName) in C:\wrox\ThePhile\Modules\Core\DbObject.cs:line 147 at Wrox.WebModules.Forums.Data.Replies.GetReplies(Int32 topicID, Int32 pageNumber, Int32 pageSize) in C:\wrox\ThePhile\Modules\Forums\Forums.Data\Replies.cs:line 55 at Wrox.WebModules.Forums.Business.Topic.GetReplies(Int32 pageNumber) in C:\wrox\ThePhile\Modules\Forums\Forums.Business\Topic.cs:line 145 at Wrox.WebModules.Forums.Web.Topic.BindGrid() in C:\wrox\ThePhile\Modules\Forums\Topic.aspx.cs:line 126 at Wrox.WebModules.Forums.Web.Topic.Page_Load(Object sender, EventArgs e) in C:\wrox\ThePhile\Modules\Forums\Topic.aspx.cs:line 99 at System.EventHandler.Invoke(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain()
请问怎么解决?
这本书 ,我现在正在等待邮寄回来呢,
不过,中文显示问题,试试这个方法,就如你的 修改这个Machine.Config
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
显示代码在Web.config里面加入:
<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>
试试;
Error Message: 对 text 数据类型不支持代码页转换
使用varchar数据类型试拭
试试在<globalization>加文化特性
uiculture="zh-cn"
culture="zh-cn"
排序规则增强
SQL Server 2000 用排序规则代替代码页和排序次序。SQL Server 2000 支持 SQL Server 早期版本所支持的大部分排序规则,并在 Windows 排序规则的基础上增加了一套新的排序规则。现在,用户可以在数据库级别或列级别上指定排序规则。以前,只能在服务器级上指定代码页和排序次序,然后应用于服务器上的所有数据库。有关更多信息,请参见排序规则。
排序规则支持代码页转换。现在支持 char 和 varchar 操作数具有不同代码页的操作。对于 text 操作数,不支持代码页转换。可以使用 ALTER DATABASE 更改数据库的默认排序规则。有关更多信息,请参见 SQL Server 排序规则基础知识和 ALTER DATABASE。
应该改成 COLLATE SQL_Latin1_General_CP1_CI_AS 的排序规则
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
显示“?”的问题还是没解决,请大家再帮忙想想...
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ConnectionString" value="server=localhost;database=SLBearing;User Id=sa;pwd=" />
</appSettings>
<system.web>
<!-- 动态调试编译
设置 compilation debug="true" 以启用 ASPX 调试。否则,将此值设置为
false 将提高此应用程序的运行时性能。
设置 compilation debug="true" 以将调试符号(.pdb 信息)
插入到编译页中。因为这将创建执行起来
较慢的大文件,所以应该只在调试时将该值设置为 true,而在所有其他时候都设置为
false。有关更多信息,请参考有关
调试 ASP.NET 文件的文档。
-->
<compilation
defaultLanguage="c#"
debug="true"
/>
<!-- 自定义错误信息
设置 customError 模式值可以控制应向
用户显示用户友好错误信息而不是错误详细信息(包括堆栈跟踪信息):
“On”始终显示自定义(友好的)信息
“Off”始终显示详细的 ASP.NET 错误信息。
“RemoteOnly”只对不在本地 Web 服务器上运行的
用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便
不向远程客户端显示应用程序的详细信息。
-->
<customErrors
mode="RemoteOnly"
/>
<!-- 身份验证
此节设置应用程序的身份验证策略。可能的模式是“Windows”、“Forms”、
“Passport”和“None”
-->
<authentication mode="Windows" />
<!-- 应用程序级别跟踪记录
应用程序级别跟踪在应用程序内为每一页启用跟踪日志输出。
设置 trace enabled="true" 以启用应用程序跟踪记录。如果 pageOutput="true",则
跟踪信息将显示在每一页的底部。否则,可以通过从 Web 应用程序
根浏览 "trace.axd" 页来查看
应用程序跟踪日志。
-->
<trace
enabled="false"
requestLimit="10"
pageOutput="false"
traceMode="SortByTime"
localOnly="true"
/>
<!-- 会话状态设置
默认情况下,ASP.NET 使用 cookie 标识哪些请求属于特定的会话。
如果 cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
若要禁用 cookie,请设置 sessionState cookieless="true"。
-->
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;user id=sa;password="
cookieless="false"
timeout="1"
/>
<!-- 全球化
此节设置应用程序的全球化设置。
-->
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
</system.web>
</configuration>
是用dreamwaver编辑的吗?如果是。在自动生成页面的时候,软件会自动的添加一些代码,如:<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
和<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
把他们删除,看看之后的效果是不是好了。我朋友曾遇到过这个问题,在网页上输入汉字,但是在数据库里却不能正常显示。就是与这个有关
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
还是调不出来。
有谁调合适了,可否发一份源码给我,带上数据库。
我再开100分表示感谢!
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
我的邮箱是3d_boy@163.com
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
顶呀!!!!!!!
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
还是调不出来。
有谁调合适了,可否发一份源码给我,带上数据库。
我再开100分表示感谢!
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
唉,无奈了。
顶~~~~~~~~~~~~~~~~~~~~~~~~~
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
看看 “出现乱码的网页” 是否不是UTF8编码!
把出现乱码的网页,另保存为 UTF8编码!(用记事本 就行)。
还是不行,郁闷死了!!
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
有谁调合适了,可否发一份源码给我,带上数据库。
我再开100分表示感谢!
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
有谁调合适了,可否发一份源码给我,带上数据库。
我再开100分表示感谢!
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
楼主,什么时候搞定了一定要庆贺一下。仔细 看看代码,不要急,往往郁闷人的都是一些细节上的问题
祝,好运:)
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
然后把相关的ASPX文件(输出显示)另存为UTF-8格式(记事本、VS.NET都可以做到)。就OK了。这个问题这期的微软专家讲课有提到呀。楼主试试看?
主要就是编码格式的问题。
我把web.config,news.aspx,news.aspx.cs等页面另存为UTF-8格式后还是不行,究竟怎么回事????????????????
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
谁有调好的源码拜托发一份给我吧!!!!
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
谁有调好的源码拜托发一份给我吧!!!!
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
谁有调好的源码拜托发一份给我吧!!!!
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
很简单的,你把 config文件夹下的所有扩展名为 .config 的文件用记事本打开,然后:
把所有的这个字段改成:
<ConnectionString>server=localhost;Trusted_Connection=true;database=thePhile</ConnectionString>
你的web.config 看来已经改好了。就行了。
对了,别忘了给你的 数据库 thePhile 加上 ASPNET 的权限。
这样就全部 ok了。肯定能全部成功。
呵呵,楼主这个问题还没解决?同情ing!其实你开的第一个帖子里面我说的那个方法很好用,可能就是你导出sql文件的时候,有些数据库对象没有选全,所以生成的sql脚本不全面。这些天没上来,我把我调试好的代码和数据库给你发一份,注意查收!不知道你邮箱够不够大!
装SQL时选取语言种类了吗?中文版还是英文版!英文版要选取语言种类!
很简单的,你把 config文件夹下的所有扩展名为 .config 的文件用记事本打开,然后:
把所有的这个字段改成:
<ConnectionString>server=localhost;Trusted_Connection=true;database=thePhile</ConnectionString>
你的web.config 看来已经改好了。就行了。
对了,别忘了给你的 数据库 thePhile 加上 ASPNET 的权限。
这样就全部 ok了。肯定能全部成功。
楼主搞定了吗?
如果搞定了记得说一声,我也好学学!
兄弟,你在哪下的原代码啊?能发个给我吗。我都找不到。yipingdong@tom.com 感谢了!!
dongyp511(白袜子) :
www.wrox.com
有下载.
一把
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
更改為:
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
試試!
或者改一下 text的字體,或更改一下charset
还没有。大家的方法都用过了,还是不行。我快不行了。
难道大家都没有调好的源码吗?
如果谁有的话,麻烦发一份给我吧。我会再开100分感谢的。