我正试图通过php在SQL Server数据库中存储一些数据.
问题是特殊字符不能正确转换.我的应用程序的字符集是iso-8859-1
在插入之前手动转换数据没有帮助,似乎有一些
运行SQL查询‘set char_Convert off’也无济于事.
有谁知道我怎么才能让这个管用吗?
EDIT:我也try 了ini_set(‘mssql.charset’,‘windows-1252’);,但是那个也没有结果.
我正试图通过php在SQL Server数据库中存储一些数据.
问题是特殊字符不能正确转换.我的应用程序的字符集是iso-8859-1
在插入之前手动转换数据没有帮助,似乎有一些
运行SQL查询‘set char_Convert off’也无济于事.
有谁知道我怎么才能让这个管用吗?
EDIT:我也try 了ini_set(‘mssql.charset’,‘windows-1252’);,但是那个也没有结果.
客户端字符集是必需的,但还不够:
ini_set('mssql.charset', 'UTF-8');
我花了两天时间研究如何通过PHP将UTF-8数据(来自Web表单)插入到MSSQL2008中.我看到很多地方都说你不能,你需要先转换成UCS2(就像Cypher的解决方案建议的那样). 在Windows上,SQLSRV据说是一个很好的解决方案,但我不能try ,因为我是在MacOSX上开发的.
然而,FreeTDS手册(PHP MSSQL在OSX上使用的手册)建议在开始引号前添加一个字母"N":
mssql_query("INSERT INTO table (nvarcharField) VALUES (N'űáúőűá球最大的采购批发平台')", +xon);
根据本文的讨论,N字符告诉服务器转换为Unicode.