php 连接 sqlserver成功后,获取到的结果凡是中文的都是'?',也就是乱码,怎么解决
答案:4 悬赏:0 手机版
解决时间 2021-04-07 15:05
- 提问者网友:未信
- 2021-04-07 12:05
php 连接 sqlserver成功后,获取到的结果凡是中文的都是'?',也就是乱码,怎么解决
最佳答案
- 五星知识达人网友:白昼之月
- 2021-04-07 13:07
数据库一定是中文,有可能是你的本页的字符集问题。
在显示之前加;自己再网上找吧。追问数据库的字符集排序规则是Latin的,而且不能改(不让改),有没有别的方法可以直接读出中文,最好是可以用sql语言解决追答是你的本页php的字符集问题
不是 数据库 的字符集
在显示之前加;自己再网上找吧。追问数据库的字符集排序规则是Latin的,而且不能改(不让改),有没有别的方法可以直接读出中文,最好是可以用sql语言解决追答是你的本页php的字符集问题
不是 数据库 的字符集
全部回答
- 1楼网友:一袍清酒付
- 2021-04-07 17:23
根据数据库类型进行想应的配置
例如:数据库类型为utf-8,则使用mysql_query('set names utf8');
例如:数据库类型为utf-8,则使用mysql_query('set names utf8');
- 2楼网友:野味小生
- 2021-04-07 15:49
我用的是SQL2005,以前遇到过这种情况,有两种办法:
1,将存中文的字段类型从varchar改成nvarchar (就是用Unicode来存)
2,在写插入语句时在内容前加个大写的N,比如
insert a values (N'中文')作用也是将插入的内容以Unicode来存.追问那个中文字段就是nvarchar的,用PHP读出来乱码的追答你在数据库图形界面中查询出来能正常显示吗?如果能的话你看看是不是网站配置文件里指定的字符集有没有问题,只要设置成gb2312都可以访问的,我不知道 PHP代码具体怎么写,我是弄ASP.NET的,就给你这个思路,你试试,不形的话到专业的PHP论坛去问一下吧.
1,将存中文的字段类型从varchar改成nvarchar (就是用Unicode来存)
2,在写插入语句时在内容前加个大写的N,比如
insert a values (N'中文')作用也是将插入的内容以Unicode来存.追问那个中文字段就是nvarchar的,用PHP读出来乱码的追答你在数据库图形界面中查询出来能正常显示吗?如果能的话你看看是不是网站配置文件里指定的字符集有没有问题,只要设置成gb2312都可以访问的,我不知道 PHP代码具体怎么写,我是弄ASP.NET的,就给你这个思路,你试试,不形的话到专业的PHP论坛去问一下吧.
- 3楼网友:北城痞子
- 2021-04-07 14:25
sqlserver的字符编码大概是UTF-8的 你在你的网页上 加上
大概就可以了 如果不行的话 你再试试用gb2312 总之数据库里面的字符编码和页面显示的字符编码一致就可以了。追问已经这么干了,不行追答如果可能的话 你把我能访问的页面贴上来 我瞧瞧
大概就可以了 如果不行的话 你再试试用gb2312 总之数据库里面的字符编码和页面显示的字符编码一致就可以了。追问已经这么干了,不行追答如果可能的话 你把我能访问的页面贴上来 我瞧瞧
参考资料:http://www.hustgoogle.cn/
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯