【发布时间】:2016-02-04 03:59:35
【问题描述】:
我的 Ubuntu Linux 服务器上有一个 Codeigniter 项目。 我不使用 MySQL,因为我正在连接 Microsoft SQL 2014 Express Server。 (我在我的 Linux 服务器上使用 FreeTDS) FreeTDS 工作正常,我可以连接 MS SQL 服务器,但字符编码有问题。 我在我的 MS SQL 服务器中使用 Hungarian_CI_AS 归类,在 FreeTDS(客户端字符集 = UTF-8)和 Codigniter 上使用 UTF-8。
问题:我有 MS SQL 字段内容:Igazgatósági előterjesztések 这在 SQL 查询后显示:Igazgat�s�gi el?terjeszt�sek (它不显示匈牙利字符 ó、á、ő、é 等) 我认为这是 UTF-8 问题。我寻找这个问题,但我没有找到任何好的提示。我试过 ini_set('mssql.charset', 'UTF-8');在 php.ini 上,但这不起作用。 我尝试在查询后转换字符串。示例:UTF-8 到 ISO8859-1 和 UCS2 到 UTF-8 和 UCS2 到 ISO8859-1 等。 í, ó, ú, é 字符有效但 ő 字符无效时的最佳结果。
解决办法是什么? MS SQL Server 使用哪种字符编码? 如何转换这个字符串才能工作?
【问题讨论】:
-
我在哪里可以复制 UTF-8?因为 MS SQL Server 不使用 UTF-8。
-
@AndreFerraz 那是针对 MySql 而不是 MS SQL。一些更好的链接:stackoverflow.com/questions/3951722/…,stackoverflow.com/questions/12512687/sql-server-utf8-howto
-
可以将数据库服务器升级到 MS SQL 2019 吗?此版本中引入了 UTF-8 支持。
标签: php sql sql-server codeigniter freetds