设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
Developers
›
Web 开发综合讨论
›
微软的驱动sqlsrv读取sqlserver乱码
返回列表
查看:
4989
|
回复:
2
微软的驱动sqlsrv读取sqlserver乱码
[复制链接]
Minux2007
Minux2007
当前离线
积分
330
IP卡
狗仔卡
发表于 2011-2-22 19:05:18
|
显示全部楼层
|
阅读模式
本帖最后由 Minux2007 于 2011-2-22 19:12 编辑
不知道这里有没有人用微软提供的驱动访问sqlserver2005的,
之前PHP5.3.1用的还是PHP自带的驱动,读取text字段的话是将其转成varchar
现在升级了PHP就使用了微软提供的sqlsrv来操作数据库,这样不用每次进行编码转换,但是在读取
text 字段类型
的时候会有问题,总是将一些不属于该字段的内容已乱码的形式读取出来
读取的数据如果比较短的话不会有问题,但是如果比较长好像是1700+长度后就出现问题了
不知道是自己哪一步没有处理好
,是不是读取text还有什么特别操作?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
hh2hh
hh2hh
当前离线
积分
182
IP卡
狗仔卡
发表于 2011-3-26 09:00:45
|
显示全部楼层
我最近有用到ci和mssql的组合,也遇到楼主的问题。都解决了。
1. 乱码是由于mssql数据库编码引起的。解决乱码要在 存入的时候要将utf-8转为gbk, 取出的时候要将gbk转为utf-8。
2. Text字段被截断是由于php.ini的默认设置。在php.ini找到如下设置, 改为-1(不限制)或改大即可。
mssql.textlimit = 4096
mssql.textsize = 4096
回复
支持
反对
使用道具
举报
显身卡
Minux2007
Minux2007
当前离线
积分
330
IP卡
狗仔卡
楼主
|
发表于 2011-3-27 13:52:48
|
显示全部楼层
回复
2#
hh2hh
我用的是MS提供的驱动,可以不需要转换编码了,我在读取非text字段都没问题,但是读取text字段就会出现问题,好像是把其他一些非字段中的内容也读出来了,就像我从内存地址中读8字节数据,却读出了10字节
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页