Php 完全随机编码在数据库本身,但软件读取它正确。我也想这样做

Php 完全随机编码在数据库本身,但软件读取它正确。我也想这样做,php,sql,sql-server,sql-server-2005,iconv,Php,Sql,Sql Server,Sql Server 2005,Iconv,我使用的是一个很旧的软件,可能是用VB6编写的,多年来已经停止使用了。此软件使用SQL Server 2005数据库。我的目标是在PHP应用程序中使用此数据库。 问题是字符编码。根据MicrosoftSQLServerManagementStudio,数据库的编码是Polish_CI_AS。根据我的理解,这可能是WINDOWS-1250或CP1250或ISO-8859-2。行是nvarchar类型 这就是我在使用SQLServerManagementStudio时看到的 这显然是坏的,应该是:

我使用的是一个很旧的软件,可能是用VB6编写的,多年来已经停止使用了。此软件使用SQL Server 2005数据库。我的目标是在PHP应用程序中使用此数据库。
问题是字符编码。根据MicrosoftSQLServerManagementStudio,数据库的编码是
Polish_CI_AS
。根据我的理解,这可能是
WINDOWS-1250
CP1250
ISO-8859-2
。行是
nvarchar
类型

这就是我在使用SQLServerManagementStudio时看到的

这显然是坏的,应该是:
名称:Markowska-Kwestionariusz(+)
Prenom:Magdalena
Tel3:我不想发布,但数据库中的数字混淆了

然而,这个VB6软件正确地显示了这些值,这对我来说是最大的谜团。奇怪的是,原生SQLServerManagementStudio一开始就错误地显示了它。在PHP中,我尝试使用
iconv()
将其转换为
UTF-8
,但没有成功。我尝试了上面提到的3种字符编码类型,结果是一样的。我使用PDO+ODBC连接,尝试了所有3种编码方法。都失败了

有没有人经历过类似的事情,或者在每行的值的开头出现了类似的神秘标志符号
[]
?还有,
空白
被货币字符
替换
,所有这些字符后面都是错误的字符顺序


提前感谢您提供的提示和建议:)

您的SQL Server Management Studio应用程序本身是否支持此编码?换句话说,当使用这个工具时,这仅仅是一个显示问题(并且数据库中的数据非常好。)它不能支持它吗?那会很尴尬。SQL Management studio不是200KB的应用程序,而是百兆字节的强大软件,它应该支持其数据库(SQL 2005)使用的任何编码。我试着玩nvarchar二进制转换,但结果总是一样的:(还有一件事。假设它不支持这种编码。这并不能解释错误的字符顺序。仅仅因为应用程序很大,并不意味着它安装了所有可能的语言包等。对于使用Windows本身,如果你想使用某些字符集(日语、中文等)您必须安装默认情况下通常未安装的语言包。我根本不使用SQL server,但仅在查看您对软件正确显示内容的评论时,我就会对用于查看数据库的工具提出疑问。您是否有权访问VB源代码?如果它正在显示信息很明显,了解ManagementStudio没有做什么是非常有用的。也许这是非常松散的自定义混淆,显然微软不会将其编码到自己的应用程序中。