【发布时间】:2012-04-10 03:37:20
【问题描述】:
以前我的网页使用字符集 UTF-8,它用这个字符集将很多内容插入到我的 SQL Server 2008 数据库中。
现在我的网页使用字符集 ISO-8859-1。但它仍然使用数据库中的相同内容。现在我的问题是,数据库中的内容是旧字符集。
有没有办法将数据库中的所有内容从一个字符集转换为另一个字符集?一个通用,还是使用连接字符串?
【问题讨论】:
-
我很好奇您为什么要将 从 utf-8 切换到 ISO 编码?通常情况正好相反。 Utf-8 可以表示 ISO 可以表示的每个 Unicode 代码点。全世界都在努力摆脱 ISO 和其他 Ansi 编码并拥抱 Unicode。
-
我走哪条路并不重要。我只需要知道是否有办法做到这一点......
-
假设您将 UTF-8 数据存储在
char/varchar/text列中,您必须使用 UTF-8 排序规则以 Unicode 格式读取数据以进行正确转换。然后,您必须自己更新您的 ASP 代码以将该 Unicode 数据转换为 ISO,然后再将其发送到客户端。所以切换到 ISO 是没有意义的,数据是 UTF-8 所以把它作为 UTF-8 发送给客户端。将来,将您的数据库设计为使用nchar/nvarchar以避免出现外来文本问题。 -
我实际上将它存储为
varchar/text。未来的设计应有尽有,谢谢!通过设置response.codepage解决了整个问题 :) 但是感谢 nvarchar/ntext-point :)
标签: sql-server-2008 asp-classic utf-8 character-encoding iso-8859-1