2012-10-22 230 views
1

我正在使用用PHP编写的Intranet应用程序使用SQL服务器。为了方便起见,我想为网页使用UTF8字符集(jQuery只支持utf8),但是存储在我的sqlserver数据库中的所有数据都在iso-8859-1中。 我可以只更改sqlserver和PHP之间的数据CONNECTION CHARSET(而不是数据存储区字符集)吗?也许只是用查询标题?SQL服务器uft8连接

谢谢。

回答

1

SQL服务器仅存储前缀为N(如此NVARCHAR等)的表中的Unicode数据。这些以UCS-2格式存储。 Windows SQLSRV驱动程序将在检索时将这些列从UCS-2转换为UTF-8,保存时则相反。

但是,如果数据是ISO-8859-1(非N列),那么您将需要自己转换文本。我会建议在您的数据检索方法上创建一个包装函数,以将ISO-8859-1数据转换为UTF-8。