【发布时间】:2013-10-24 00:00:07
【问题描述】:
查询数据库时在本地 Visual Studio 上运行我的 asp net mvc 应用程序通常会显示特殊字符(主要是重音符号,如 ão 和 é),但是当我将数据库上传到 Azure 时,它会显示奇怪的东西。例如,在本地查询表时显示“São Paulo”,但在 Azure 上查询时显示“SÒo Paulo”
Azure 上使用的排序规则是 Latin1_General_CI_AS。
我能做什么?
谢谢!
【问题讨论】:
查询数据库时在本地 Visual Studio 上运行我的 asp net mvc 应用程序通常会显示特殊字符(主要是重音符号,如 ão 和 é),但是当我将数据库上传到 Azure 时,它会显示奇怪的东西。例如,在本地查询表时显示“São Paulo”,但在 Azure 上查询时显示“SÒo Paulo”
Azure 上使用的排序规则是 Latin1_General_CI_AS。
我能做什么?
谢谢!
【问题讨论】:
Sql Azure 默认排序规则是“SQL_Latin1_General_CP1_CI_AS”,您无法更改。这意味着您应该在列级别设置排序规则。
示例:
CREATE TABLE t
(
id int IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
c1 nvarchar(20) COLLATE SQL_Latin1_General_CP1_CI_AS,
c2 nvarchar(20) COLLATE Japanese_CI_AS
)
您可能在列级别设置了不同的排序规则。只需删除它,它就会起作用。让默认排序规则。
示例:
CREATE TABLE t
(
id int IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
c1 nvarchar(20) not null,
c2 nvarchar(20) null
)
更多信息在这里: http://blogs.msdn.com/b/sqlazure/archive/2010/06/11/10023650.aspx
【讨论】: