用于将非英文字符存储到 SQL 数据库的 HTML/ASPX 文本框
Posted
技术标签:
【中文标题】用于将非英文字符存储到 SQL 数据库的 HTML/ASPX 文本框【英文标题】:HTML/ASPX textbox to store non-english characters to SQL database 【发布时间】:2010-10-25 04:57:04 【问题描述】:我在 .aspx 页面上有这个文本框,提交时它将文本框中输入的内容存储到 MS SQL 2005 中的 nvarchar 列中。
它工作正常,直到您尝试输入中文字符。 这些字符在数据库中被转换为问号 (?)。
如何将 中的非英语字符存储到数据库中?
【问题讨论】:
【参考方案1】:主要是确保管道的每一步都支持国际字符;即 - 你在什么时候第一次看到“?” ?在aspx代码中?还是只有进入数据库表一次?
网页应该已经使用 UTF8 等编码,所以应该没问题 - 但是您在数据库中使用的是什么数据类型?它需要是 nchar
/nvarchar(n)
/nvarchar(max)
(或在旧版本的 SQL Server 上为 ntext
)。
【讨论】:
您好,谢谢。当我在文本框中粘贴一个汉字时,它看起来很好。但是在数据库中(当你从数据库读回一个aspx页面时)它们变成了????。我忘了提到它是 nvarchar(50),我编辑了这个问题,谢谢。 那么它什么时候第一次变成??? - 你看过提琴手吗?调试了 ASP.NET 应用程序?以上是关于用于将非英文字符存储到 SQL 数据库的 HTML/ASPX 文本框的主要内容,如果未能解决你的问题,请参考以下文章
如何将非表数据导入 SQL Server Reporting Services?
如何将非通用排序列表保存到文件中,以便可以从文件中加载该排序列表?