• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Ms sql读取出数据,显示在网页上乱码!

php 搞代码 3年前 (2022-01-23) 13次浏览 已收录 0个评论
文章目录[隐藏]

我是直接在php里mssql_connect连接ms sql 数据,查询资料只要你使用的是php自带的那个mssql,那读出来的数据编码格式一定是gbk,这是因为mssql自身只有gbk的编码,且不能定义

while($row = mssql_fetch_row($result)){
echo iconv(‘GB2312′,’UTF-8’,$row[0]);
}

为什么输出的还是乱码?????

用了 set names 也不行啊。

回复讨论(解决方案)


$row = mssql_fetch_row($result);
echo base64_encode(serialize($row));
贴出结果

YTo1OntpOjA7czoxNDoiEwbJEMpqqc100THTUNUiO2k6MTtzOjg6ItD41bnN6rPJIjtpOjI7czoxMDoiMjAxMi0xMS0xOSI7aTozO3M6MToiMSI7aTo0O047fQ==

Array(    [0] =>  ??┩t?1??    [1] => 续展完成    [2] => 2012-11-19    [3] => 1    [4] => )

你在 mssql 管理器中看到的对应 $row[0] 的字段的内容是什么?

保证网页编码 和meta 设定编码和数据库字符编码 应该就不会错了

Array(    [0] =>  ??┩t?1??    [1] => 续展完成    [2] => 2012-11-19    [3] => 1    [4] => )

你在 mssql 管理器中看到的对应 $row[0] 的字段的内容是什么?

你转换出来的数据是正确 的,数组0怎么还是乱码,还有我mysql是utf8 的,我这样做了转换
$fZTDM = iconv(‘GB2312′,’UTF-8’,$mssql_row[‘fTMID’]);
插入数据库也成乱码了:{j馓â??

数据你你给的,我只

本文来*源gaodai^.ma#com搞#代!码网
搞gaodaima代码

是解码查看而已
元素0在拿到时就已经乱码了,所以你应该在mssql管理器中查看原始内容。
只有这样才能判断出现乱码的原因

数据你你给的,我只是解码查看而已
元素0在拿到时就已经乱码了,所以你应该在mssql管理器中查看原始内容。
只有这样才能判断出现乱码的原因

元素原始内容是0x1306C910CA6AA9CD74D131D350D5
解码是用:base64_decode吗?

添加数据的时候乱码,你再怎么转码就是徒劳的,要从源头解决问题。

嗯,你这个字段是主键吧?
这个字段的值对于 mysql 已经没有什么意义了

嗯,你这个字段是主键吧?
这个字段的值对于 mysql 已经没有什么意义了

元素1的要怎么转换编码插入mysql

我用 mb_convert_encoding和iconv转换插入都不行,mysql是utf8的

不需要转换,读回的数据是 gbk 的
所以,你只需在循环读取、插入前执行 mysql_query(‘set names gbk’); 一次即可

不需要转换,读回的数据是 gbk 的
所以,你只需在循环读取、插入前执行 mysql_query(‘set names gbk’); 一次即可

之前我也进行转换了呢,奇怪。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Ms sql读取出数据,显示在网页上乱码!

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址