我正在使用SQL服务器和用PHP编写的Intranet应用程序。为方便起见,我想对网页使用UTF8字符集(jquery仅支持utf8)但是我的sqlserver db中存储的所有数据都在iso-8859-1中。 我可以只更改sqlserver和PHP之间的数据CONNECTION CHARSET(不是数据存储charset)吗?也许只是一个查询标题?
谢谢。
答案 0 :(得分:1)
SQL Server仅在前缀为N
的表中存储Unicode数据(所以NVARCHAR
等)。它们以UCS-2格式存储。 Windows SQLSRV驱动程序会在检索时将这些列从UCS-2
转换为UTF-8
,而在保存时则相反。
但是,如果数据为ISO-8859-1
(非N
列),则您需要自行转换文本。我建议在数据检索方法上创建一个包装函数,将ISO-8859-1
数据转换为UTF-8。