sql server2008 编码为GBK,PHP设置为utf-8,网页端出现中文乱码

时间:2023-01-05 10:28:43
Sql server2008 编码为GBK,PHP设置为utf-8,网页端出现中文乱码,并且我在php端做了转码的在application.php,view实在AssetView.PHP,请问一下怎么改,连接数据库配置文件也检查了的,设置的为utf-8

13 个解决方案

#1


好好的 gbk,干嘛要 utf-8?自找麻烦

如果说你的网页中需要 utf-8 的双字节字符或四字节字符(emoji表情符)
那么 gbk 根本就没有对应的字符,使用 GBK 排序规则的 sql server2008 根本就是个错误

#2


这个是之前的人搞的,问题是在sql server2008中也找不到utf-8,所以他们以为做了转码就行了,你的意思是不是就是说php不能和sql server2008搭配使用

#3


我的意思是:既然你没有能力改变 sql server2008 的工作字符集(其实他是支持 utf-8 的)
那就沿用 sql server2008 的 GBK
何苦又去弄个 utf-8 呢?

#4


有人说 utf-8 是为了国际化,那有多少西人识得方块字呢?
既然网站是给国人看的,为何要国际化呢?

#5


既然他是支持的,现在有啥子办法能改吗?你说一个方法嘛,我百度了很多都不行,赐教一下嘛

#6


我没有 sql server2008,自然不能示范给你看
不然你又要说 百度了很多都不行

#7


php改用 GBK就可以了。

#8


php端没法改了,出了改成GBK还有什么方法没有

#9


我也遇到了这样的问题。目前思路有三个,
一个是直接更改数据库编码格式为utf8。但是网络上并没有太多的资料可以解决这个问题。而且直接更改数据库如果不能恢复的话,麻烦也大了一点。
一个是在网页上设置编码格式为gbk,但是我拿到的模板都是用的utf8格式,而从sqlserver中读取的数据都是gbk格式,所以存在兼容性的问题!
还有一个是把读取出的数据全部装换为utf8格式。这种比较耗费性能。但是是最稳妥的办法。

#10


header("content-type:text/html;charset=utf-8");

#11


本帖最后由 fdipzone 于 2017-08-19 16:17:25 编辑
php 可以改用GBK的。

#12


编码统一即可,建议使用GBK

#13


取出来的数iconv转一下可行不?

#1


好好的 gbk,干嘛要 utf-8?自找麻烦

如果说你的网页中需要 utf-8 的双字节字符或四字节字符(emoji表情符)
那么 gbk 根本就没有对应的字符,使用 GBK 排序规则的 sql server2008 根本就是个错误

#2


这个是之前的人搞的,问题是在sql server2008中也找不到utf-8,所以他们以为做了转码就行了,你的意思是不是就是说php不能和sql server2008搭配使用

#3


我的意思是:既然你没有能力改变 sql server2008 的工作字符集(其实他是支持 utf-8 的)
那就沿用 sql server2008 的 GBK
何苦又去弄个 utf-8 呢?

#4


有人说 utf-8 是为了国际化,那有多少西人识得方块字呢?
既然网站是给国人看的,为何要国际化呢?

#5


既然他是支持的,现在有啥子办法能改吗?你说一个方法嘛,我百度了很多都不行,赐教一下嘛

#6


我没有 sql server2008,自然不能示范给你看
不然你又要说 百度了很多都不行

#7


php改用 GBK就可以了。

#8


php端没法改了,出了改成GBK还有什么方法没有

#9


我也遇到了这样的问题。目前思路有三个,
一个是直接更改数据库编码格式为utf8。但是网络上并没有太多的资料可以解决这个问题。而且直接更改数据库如果不能恢复的话,麻烦也大了一点。
一个是在网页上设置编码格式为gbk,但是我拿到的模板都是用的utf8格式,而从sqlserver中读取的数据都是gbk格式,所以存在兼容性的问题!
还有一个是把读取出的数据全部装换为utf8格式。这种比较耗费性能。但是是最稳妥的办法。

#10


header("content-type:text/html;charset=utf-8");

#11


本帖最后由 fdipzone 于 2017-08-19 16:17:25 编辑
php 可以改用GBK的。

#12


编码统一即可,建议使用GBK

#13


取出来的数iconv转一下可行不?