[分享] 使用sqlsrv連線sql server時中文帶亂碼

看板PHP作者 (天天)時間6年前 (2017/10/17 01:59), 6年前編輯推噓2(200)
留言2則, 2人參與, 6年前最新討論串1/1
開發環境 : 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
win32可以直接用odbc免DRV,尤其不會亂碼。
10/17 22:08, 2F
這亂碼發現的時機不確定,insert into 有中文的時候都沒有遇到過,用這版本很久 都沒發現這問題。 所以不確定觸發條件是甚麼就是了.... ※ 編輯: tentenlee (220.132.180.49), 10/18/2017 01:36:20
文章代碼(AID): #1PvFEHVo (PHP)