我的网站有一个 Web 表单,其提交数据写入 Microsoft SQL Server 表。我的网站基于 PHP / Apache / Ubuntu-Server 堆栈构建。
网站的字符集是UTF-8,但是SQL Server的字符集是latin_1,导致字符串存入数据库时出现乱码。
无法将 SQL Server 的字符集更改为 UTF-8。
当然,微软支持驱动程序来解决这个问题,但是该驱动程序仅适用于微软操作系统。
我将 Web 表单的字符集切换为 ISO-8859-1(与 latin_1 不同),但如果我Müller
在表单中写入,则会进入Mller
数据库。经过一番研究,我发现“普通”Linux 驱动程序不支持此字符集。
在哪里可以找到一个驱动程序,以便将一些具有正确字符集的文本从 PHP 写入 Microsoft SQL Server?
答案1
我以前从未使用过 Microsoft SQL,但我认为有比更改整个 PHP 脚本的编码更简单的解决方案。
有一个函数(mb_convert_encoding
)可以转换字符串的字符编码,所以我认为您可以使用它来构建查询。
检查参考PHP 文档。