我的Ubuntu Linux服务器上有一个Codeigniter项目。 我不使用MySQL,因为我正在连接Microsoft SQL 2014 Express Server。 (我在Linux服务器上使用FreeTDS) FreeTDS正在工作,我可以连接MS SQL服务器,但我的字符编码有问题。 我在MS SQL服务器中使用Hungarian_CI_AS collaction,在FreeTDS(客户端charset = UTF-8)和Codigniter上使用UTF-8。
问题:我有MS SQL字段内容:Igazgatóságielőterjesztések 这显示在SQL查询之后:Igazgat s giel?terjeszt sek (它不显示匈牙利字符ó,á,ő,é等) 我认为这是UTF-8问题。我找了这个问题,但我没有找到任何好的提示。我试过ini_set('mssql.charset','UTF-8');在php.ini但这不起作用。 我试过在查询后转换字符串。示例:UTF-8到ISO8859-1和UCS2到UTF-8和UCS2到ISO8859-1等。 当í,ó,ú,é字符正在工作时,效果最好,但őcharater不起作用。
解决方案是什么? MS SQL Server使用哪种字符编码? 如何转换此字符串才能工作?
答案 0 :(得分:0)
首先,请检查您是否可以输入该字符,因为某些工具与您的应用程序不同,例如 SQL Server Management Studio,然后将其保存在表中并创建一个带有变量的存储过程,例如,保存,该字符,在这两种情况下,如果您都能正确看到该字符,请按照以下步骤操作:
有点麻烦,取决于您是否可以将该字符直接键入到 SQL Server。我以前也遇到过这样的问题,我不记得确切的最终解决方案,但我记得这个让我继续努力寻找最终解决方案的技巧。
另外:您是否检查了存储字符的列的类型?无论如何,从一开始就开始尝试。