asp.net提交表单到数据库中的中文数据是一些问号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net提交表单到数据库中的中文数据是一些问号相关的知识,希望对你有一定的参考价值。

asp.net中提交表单后,控件中的中文都回变成数目不定的问号,提交到Access数据库中的数据也是相应的问号,
而直接在数据库中插入中文的记录,则可以正常显示 ,
请问各位高手们应如何解决?
wbj02,你能把web.config 整体贴出来吗?
我写的好象不行!!
谢谢

参考技术A l ASP.NET的调试环境
操作系统:
Windows 2000 Professional,Windows 2000 Server ,Windows 2000 Advanced Server
浏览器:
IE 5.5
NGWS

l 支持哪几种语言
ASP.NET 目前能支持3种与语言, C# (读作 "C Sharp"), Visual Basic,and Jscrip。.

l 使你的机器持ASP.NET,必须满足以下配置:

硬件要求:
1、 CPU: Intel Pentium II-class 300 MHz (最好Intel Pentium III-class 600 MHz)
2、 内存: 96 MB (最好128 MB)
3、 磁盘空间: 250 MB(完全安装) 155 MB(快速安装)
4、 显示: 800x600, 256 colors
5、 CD-ROM: required

软件要求:
1、 MicroSoft Windows 2000 + SP1
2、 MicroSoft Internet Explorer 5.5
3、 IIS5.0
4 、 其它: MDAC 2.6 Beta 2

l 什么是NGWS?

ASP.NET实际上是一个崭新的运行结构的一部分,这个结构提供对所有windows应用程序的支持。这个结构是MicroSoft's Next Generation Web Services ( NGWS)关建部分。当你安装了这个结构,你就获得了ASP.NET。这个结构同样支持所有其它服务器程序技术。
NGWS 结构通过对可升级分布式应用添加 [新的和增强的服务] 来扩展COM的结构,此种结构常用做编写可重复调用的可共同使用的软件组件,这些新的和增强的服务有:
一套统一的丰富的程序库
一个支持多语言的运行引擎
简单地应用建立,调试,以及维护
对分布式应用加强了可升级性
保护现已存在的软件和投资

ASP.NET的安装过程很简单,只需按照简单提示安装即可。但是,如果你的机器安装了OFFICE2000,在此建议安装ASP.NET之前先备份\MicroSoft Office\Office\mso9.dll这个文件,因为安装完ASP.NET后,OFFICE会提示你注册,否则的话OFFICE2000就会出现限制使用50次。此时将备份的mso9.dll文件覆盖掉原来的文件即可。
ASP.NET(NGWS SDK)的下载地址:
http://download.microsoft.com/download/platformsdk/Trial/1812.10full/NT5/EN-US/Setup.exe
安装微软的VisualStudio.NET Beta1和安装ASP.NET很多地方有惊人的相似,所以在此简单地提一下。
安装beta1版本的记得必须先安装以下内容:
1、windows2000 sp1
2、安装IE5.5
3、必须要装有iis,而且iiS要带front page扩展
4、front page服务扩展的补丁QFE
相同地,安装完VisualStudio.NET后同样会出现OFFICE2000的50次限制,所以可以用同样的方法,先备份mso9.dll文件,然后安装完后覆盖掉原来的文件。
参考技术B 你字符编码的问题.将web.config文件中的字符编码从utf-8改为gb2312的试试看/

迁移到 ASP.NET/Blazor 项目中的身份验证数据库时,是不是可以创建一些预注册用户?

【中文标题】迁移到 ASP.NET/Blazor 项目中的身份验证数据库时,是不是可以创建一些预注册用户?【英文标题】:Is it possible to create some pre-register users when migrate to authentication DB in ASP.NET/Blazor project?迁移到 ASP.NET/Blazor 项目中的身份验证数据库时,是否可以创建一些预注册用户? 【发布时间】:2022-01-02 16:18:19 【问题描述】:

我想知道是否可以添加用户和密码而无需使用表单进行注册。 我有一个包含一些用户和密码的现有数据库,我想将其转移到aspNetUser

我迁移了这些默认表into local DB,但我不明白如何在这些表中设置大约 10 个只有密码的现有用户。

我只想“粘贴”用户和密码。

我正在使用启用了个人身份验证的 Blazor 服务器模板。

【问题讨论】:

是的。但是没有代码,没有人可以提供很多但一般的建议。使用您现有的数据库结构更新您的问题,我们将能够为您提供更好的答案。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

是的,您可以这样做,但需要手动将其作为数据库的种子。 你可以这样做:

public class AppIdentityDbContextSeed
    
        public static async Task SeedAsync(UserManager<IdentityUser> userManager, RoleManager<IdentityRole> roleManager)
        
            await roleManager.CreateAsync(new IdentityRole("Administrators"));

            var defaultUser = new IdentityUser  UserName = "your username", Email = "your email" ;
            await userManager.CreateAsync(defaultUser, "your password");

            string adminUserName = "Your admin name";
            var adminUser = new IdentityUser  UserName = adminUserName, Email = "your admin email" ;
            await userManager.CreateAsync(adminUser, "your admin password");
            adminUser = await userManager.FindByNameAsync(adminUserName);
            await userManager.AddToRoleAsync(adminUser, "Administrators");
        
    

然后您可以在您的program 类中使用SeedAsync 方法,如下所示:

public class Program
    
        public static async Task Main(string[] args)
        
            var host = CreateHostBuilder(args)
                        .Build();

            using (var scope = host.Services.CreateScope())
            
                var services = scope.ServiceProvider;
                try
                
                    
                    var userManager = services.GetRequiredService<UserManager<IdentityUser>>();
                    var roleManager = services.GetRequiredService<RoleManager<IdentityRole>>();
                    await AppIdentityDbContextSeed.SeedAsync(userManager, roleManager);
                
                catch (Exception ex)
                
                    //exception handling
                
            

            host.Run();
        

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                
                    webBuilder.UseStartup<Startup>();
                );
    

最后查看Startup.cs,应该如下:

services.AddDefaultIdentity<IdentityUser>().AddRoles<IdentityRole>()
                .AddEntityFrameworkStores<ApplicationDbContext>();

【讨论】:

好的,我试过了,但我的 dbo.AspNetUsers 仍然是空的。我可能错过了一些东西...... 对不起,这是我的错误。我已经更新了答案。它应该是IdentityUser 而不是ApplicationUser。正如我在答案中提到的,还要检查Startup.cs 谢谢!但我尝试了你的代码,它只在 AspNetRoles 表中添加了管理员角色,在 ApsNetUsers 中没有用户 我已经尝试过了,它正确添加了用户,也许您需要为AspNetUsers 传递包含大写字母和数字的有效密码,以及有效的电子邮件?试试这个凭据,让我知道它是否有效UserName = "user"Email = "user@gmail.com"password="P@ssword1" 好吧,你是对的!非常感谢,拯救我的一天!

以上是关于asp.net提交表单到数据库中的中文数据是一些问号的主要内容,如果未能解决你的问题,请参考以下文章

将表数据映射到 asp .Net MVC 中的 ViewModel 列表

asp.net 表单数据提交,常见方式与错误总结

asp 提交表单和上传文件

ASP.NET 支付表单提交需要指导

asp.net mvc 3 - ajax 表单提交和验证

将引导向导表单提交到 sql 数据库