作者tentenlee (天天)
看板PHP
标题[分享] 使用sqlsrv连线sql server时中文带乱码
时间Tue Oct 17 01:59:43 2017
开发环境 :
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://webptt.com/cn.aspx?n=bbs/PHP/M.1508176785.A.7F2.html
1F:推 gpmm: 推一个 10/17 07:59
2F:推 pc031564: win32可以直接用odbc免DRV,尤其不会乱码。 10/17 22:08
这乱码发现的时机不确定,insert into 有中文的时候都没有遇到过,用这版本很久
都没发现这问题。
所以不确定触发条件是甚麽就是了....
※ 编辑: tentenlee (220.132.180.49), 10/18/2017 01:36:20