首页 > 解决方案 > varchar 列上的葡萄牙语重音问题

问题描述

我有一个包含 2 个 varchar 列的表。其中一列必须以葡萄牙语存储项目的名称。问题是当我插入时,会出现一些奇怪的字母。即使我进行更新,它们仍然会出现。

这是我的表定义:

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Items](
    [idItem] [int] IDENTITY(1,1) NOT NULL,
    [name_es] [varchar](100) NULL,
    [name_pt] [varchar](100) NULL,
 CONSTRAINT [Items] PRIMARY KEY CLUSTERED 
(
    [idItem] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

这就是发生的事情

带有奇怪字母的表

任何想法?

标签: sqlsql-servercollation

解决方案


您正在使用不喜欢非英文字符的 VARCHAR,因此请尝试使用数据类型 NVARCHAR


推荐阅读