PDOとSQLServerの文字化け

2018-07-09 09:19:22

 CentOS7上のPHPからSQLServerにアクセスしてデータを取得するプログラムで一部文字化けが発生しました。原因を確認すると、「𠮷」「髙」という、サロゲートペア問題ではおなじみの文字です。

‌ 解決方法は「php-mssql」をやめて、MS製の公式ドライバ「pdo-sqlsvr」を導入することです。導入は以下の手順です。

‌curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo ‌yum -y install php-sqlsrv

途中ライセンスの同意を求められますが、これでドライバが導入できます。