[分享] 使用sqlsrv連線sql server時中文帶亂碼
開發環境 :
windows 10 64bit
php 7.0
apache 2.4.23
使用框架 CodeIgniter 3.1.6
sqlsrv版本 4.0
sql server 2012
其實以上重點大概只有一個
遇到問題:
在php的sql字串中,有用case去判斷某個欄位後顯示中文的文字,會發現回傳的資料中
上面case設定的文字的後面會多帶幾碼亂碼。
同樣的sql 印出來後直接丟到 sql server management studio中並不會有這問題。
一值google都沒注意到這問題,設定的編碼已經是UTF-8了。
所以問題到底在哪邊呀~~~
最後去看一下微軟的sqlsrv的github 發現版本已經有更新了,
重新下載後放到ext的資料夾做更新,重新啟動後就好了
就好了..
就好了...
我的人生呀~~~~~~~
目前github已經有5.1的版本,但是感覺還是測試版本。
目前官方的教學網站 https://goo.gl/FUoMMP 這個連結是4.3版本
所以將sqlsrv更新到4.3版本後就正常了....... 但這版本需要的是php 7.0以上
希望不要也有人踩到我這浪費生命的坑呀.....
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.180.49
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1508176785.A.7F2.html
推
10/17 07:59,
6年前
, 1F
10/17 07:59, 1F
推
10/17 22:08,
6年前
, 2F
10/17 22:08, 2F
這亂碼發現的時機不確定,insert into 有中文的時候都沒有遇到過,用這版本很久
都沒發現這問題。
所以不確定觸發條件是甚麼就是了....
※ 編輯: tentenlee (220.132.180.49), 10/18/2017 01:36:20