MSSQL utf-8 乱码 问题?

wj99898 2009-11-19 02:13:43
php 是采用utf-8字符集,从PHP插入一笔中文记录,在MSSQL中显示为乱码,而PHP读MSSQL出来没问题,但用iconv("UTF-8","GB2312",$insert_str)插入记录,则MSSQL显示正常,但PHP读MSSQL出来为乱码,除非用iconv("GB2312","UTF-8",$insert_str)显示才正常。
请问有没有更好的办法解决???
如果MSSQL也可以设置utf-8字符集就好了!!!
...全文
390 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
SatSun 2012-02-15
  • 打赏
  • 举报
回复
最近也是 刚遇到这个问题 一直是LAMP 这次PHP链接 MSSQL 是个问题 呵呵
真永远 2009-12-17
  • 打赏
  • 举报
回复
PHP.ini 中设置成default_charset = "gb2312";
然后,.PHP页面的编码也要求是 gb2312。

这两者必须一致才行
wj99898 2009-11-19
  • 打赏
  • 举报
回复
自己顶一下,希望高手帮忙!!!
忆轩辕 2009-11-19
  • 打赏
  • 举报
回复
没办法,这是你程序那边的问题,不是数据库的问题,只能靠程序那边做,你考虑下怎么让unicode字符串不会变成utf-8编码,因为utf-8编码和中文编码有冲突
wj99898 2009-11-19
  • 打赏
  • 举报
回复
自己顶一下,希望高手帮忙!!!
wj99898 2009-11-19
  • 打赏
  • 举报
回复
我知道存的时候用iconv("UTF-8","GB2312",$insert_str)是没问题,但PHP显示时,又得iconv("GB2312","UTF-8",$insert_str)显示出来,太麻烦,而且影响效能,所以才问有没有更好的办法???
忆轩辕 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wj99898 的回复:]
引用 10 楼 colacat911 的回复:
引用 8 楼 wj99898 的回复:
引用 7 楼 colacat911 的回复:
中文字段的排序规则用nvarchar


不明白你所说的意思??
排序规则并没有这些


说错了...........中文字段用nvarchar,排序规则不用变了.....


我的表字段已经是nvarchar了,但还是乱码?原因是存入的数据是UTF-8字符,我想应该和字段类型没关系吧
[/Quote]

程序中那个变量不是unicode才会导致这种情况,你存的时候转一下吧
wj99898 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 colacat911 的回复:]
引用 8 楼 wj99898 的回复:
引用 7 楼 colacat911 的回复:
中文字段的排序规则用nvarchar


不明白你所说的意思??
排序规则并没有这些


说错了...........中文字段用nvarchar,排序规则不用变了.....
[/Quote]

我的表字段已经是nvarchar了,但还是乱码?原因是存入的数据是UTF-8字符,我想应该和字段类型没关系吧
忆轩辕 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wj99898 的回复:]
引用 7 楼 colacat911 的回复:
中文字段的排序规则用nvarchar


不明白你所说的意思??
排序规则并没有这些
[/Quote]

说错了...........中文字段用nvarchar,排序规则不用变了.....
wj99898 2009-11-19
  • 打赏
  • 举报
回复
顶,有谁知道???
wj99898 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 colacat911 的回复:]
中文字段的排序规则用nvarchar
[/Quote]

不明白你所说的意思??
排序规则并没有这些
忆轩辕 2009-11-19
  • 打赏
  • 举报
回复
中文字段的排序规则用nvarchar
syw_java 2009-11-19
  • 打赏
  • 举报
回复
N'xxxx'
wj99898 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 icelovey 的回复:]
数据库设置NVARCHAR的应该不会乱码的吧
[/Quote]

还是会的
wj99898 2009-11-19
  • 打赏
  • 举报
回复
可是不知道排序规则里那种类型与UTF-8匹配啊,网上查了好久也没查到
icelovey 2009-11-19
  • 打赏
  • 举报
回复
数据库设置NVARCHAR的应该不会乱码的吧
--小F-- 2009-11-19
  • 打赏
  • 举报
回复
修改排序规则
dawugui 2009-11-19
  • 打赏
  • 举报
回复
不知道,帮顶.

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧