1

我有一张表,其排序规则Thai_CI_AS没有à正确存储特殊字符。存储à时,它会呈现为问号:?

我已经通过将该表的排序规则更改为默认的 latin* 来解决这个问题。

现在可以正确存储新数据(特殊字符)。

但旧数据仍然显示???

如何刷新或调用任何方法以使旧数据正确显示?

- - - 编辑 - - - -

是否有一个允许将所有内容更改?为其他内容的 sql 查询à

例子

 ?sometext?
 ??sometext??
 ?????
 sometext??

并将所有转向

 àsometextà
 àsometextà
 ààààà
 sometextàà

谢谢,以下列是包含这些数据的列,

 id_name1, id_name2, id_name3.

请帮忙。非常感谢你。

4

2 回答 2

2

很抱歉,您的旧数据已经消失了。我不认为这是因为整理;这可能是因为您这样做了:

INSERT dbo.table(column) SELECT 'à';

而不是使用 N 字符正确地为 Unicode 数据添加前缀:

INSERT dbo.table(column) SELECT N'à';
---- this is important ---------^

但是再一次,没有找回旧数据......您甚至自己说,当您在泰语排序规则下存储数据时,它显示?- 这意味着数据一开始就没有正确存储(很可能是因为丢失了N)。

于 2012-07-25T18:58:11.670 回答
0

如果这个问题与您之前的问题有关,那么答案是肯定的。

VARCHAR 列仅包含单字节字符。在您的情况下,您应该将 VARCHAR 列更改为 NVARCHAR,然后更改列的排序规则。

于 2012-07-25T19:12:40.483 回答