Php Unicode字符在ODBC中显示为问号

Php Unicode字符在ODBC中显示为问号,php,odbc,Php,Odbc,我创建了一个程序,使用excel.xls文件作为数据库记录。我可以查询它并得到很好的结果,整个程序几乎可以正常运行,但当涉及到任何unicode字符时,它就会崩溃。脚本完成后,它会将结果写入一个以制表符分隔的.txt文件,但我在替换某些字符时会得到问号,它还会在替换撇号时显示x92之类的内容 我尝试过很多事情,比如改变 从iso-8859-1开始,就在那时x92似乎出现了,尽管我不确定 我很确定这个问题与ODBC如何检索数据有关。原始数据源很好,所有unicode字符等看起来都很好,但在提取数据

我创建了一个程序,使用excel.xls文件作为数据库记录。我可以查询它并得到很好的结果,整个程序几乎可以正常运行,但当涉及到任何unicode字符时,它就会崩溃。脚本完成后,它会将结果写入一个以制表符分隔的.txt文件,但我在替换某些字符时会得到问号,它还会在替换撇号时显示x92之类的内容

我尝试过很多事情,比如改变 从iso-8859-1开始,就在那时x92似乎出现了,尽管我不确定

我很确定这个问题与ODBC如何检索数据有关。原始数据源很好,所有unicode字符等看起来都很好,但在提取数据后,在对数据执行任何操作之前,我会回显到屏幕上,我可以看到出现在那里的问号

我当前使用此代码连接到excel

$connection = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;Client_CSet=UTF-8;DefaultDir=$excelDir;" , "Server_CSet=Windows-1251", "");

我添加了Client_CSet=UTF-8;而且,我在谷歌的许多搜索中找到了Server_CSet=Windows-1251,试图修复这个问题,但它没有改变任何事情。我完全被难住了。

值是如何存储在数据库中的?如果数据库值包含问号而不是unicode字符,则必须更改该表的排序规则以及该字段的排序规则。

我使用fwrite将数据直接写入以制表符分隔的文本文件;