PHP 的 UTF-8 字符集与 SQL Server 的 latin_1 字符集不匹配

PHP 的 UTF-8 字符集与 SQL Server 的 latin_1 字符集不匹配

我的网站有一个 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 文档

相关内容