
正文
php数据输出为问号,php输出文本的三种方式
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php调用mysql_result输出中文则显示的是问号,我的数据库类型是gbk_c...
1、你在数据库连接的时候有没有定义字符集,也就是有没有这句mysql_query(SET NAMES GBK);如果你加上后还是乱码的话。看下页面头部有没有定义字符集。如果问题解决,请采纳。
2、你insert into时数据的编码要和表字段设置的编码一致,简单的办法是,提交插入语句前加上一句mysql_query(set names gb2312);//假设你的表字段中文编码为gb2312。
3、有两个建议:因为mysql数据库默认的就是utf-8的,如果你是Window系统的话,你可以进入cms命令行对数据库进行修改编码操作命令 set names gb2312,(具体的进入命令行自己到网上查。
4、去MYSQL里面设置,不要在PHP里设置MYSQL的编码,乱码肯定就是编码问题无疑,推荐你先把MYSQL里面表的编码改好,然后再把PHP的编码改好,这样就应该没问题了。
5、出现乱码是因为mysql设置编码GB2312 后,在navicat里连接要要选择mysql默认字符集,创建数据库时候选默认字符集,创建表的varchar字段(或其他字符字段)都不用选择编码,系统默认gbk编码,就不会出现乱码了。
相关问答
Q1: PHP调用数据中文显示问号!数据库正常!
,数据库字段编码问题,一般从页面提交过去的数据都是utf8的,数据库字段编码如是gbk的就会出现这样的问题。2,如果通过命令行进入数据库的话,先执行下set names utf8 然后在查询数据库,试试。
你在数据库连接的时候有没有定义字符集,也就是有没有这句mysql_query(SET NAMES GBK);如果你加上后还是乱码的话。看下页面头部有没有定义字符集。如果问题解决,请采纳。
是字符编码问题 mysql字符编码有四个级别 服务器级,数据库级,表级,字段级.前三种均为默认设置,并不代表你的字段最终会使用这三种之一字符集设置,以字段级为准。
典型的编码问题。在php中mysql_connect之后,加一句:mysql_query(set names utf8, $con);用来设置一下编码。php文件的编码(一般是UTF8无BOM)也应该与数据库的编码一致。
Q2: 用php从mysql数据库中取出数据变问号?
因为你mysql中被写入的确实是?,所以无论页面怎么转码都没用的。
if ($db-server_info()0.1){ db-query(set names gbk2312);或者是GBK } 把IF去掉 补充:输出之后,你试试IE切换编码,看哪种编码能显示中文,你再把数据库编码以及页面编码调整统一。
比如你的php用的是utf-8编码,而数据库存储的是gb2312,那你在php中存入和读取都没有问题,而你用gb2312的phpmyadmin查看数据库就会是??要解决的话,你将你使用的工具编码格式变一下。搜索一下相关内容就知道了。
从数据库中查询数据并输出显示也有主要三个地方,一个就是上面所说的,二是连接字符集使用例如mysql_query(set name gbk)的语句设定,三是脚本字符集(php脚本的编码),另外有网页编码字符集。
Q3: PHP在数据库中显示的是问号
去MYSQL里面设置,不要在PHP里设置MYSQL的编码,乱码肯定就是编码问题无疑,推荐你先把MYSQL里面表的编码改好,然后再把PHP的编码改好,这样就应该没问题了。
if ($db-server_info()0.1){ db-query(set names gbk2312);或者是GBK } 把IF去掉 补充:输出之后,你试试IE切换编码,看哪种编码能显示中文,你再把数据库编码以及页面编码调整统一。
因为你mysql中被写入的确实是?,所以无论页面怎么转码都没用的。
你在数据库连接的时候有没有定义字符集,也就是有没有这句mysql_query(SET NAMES GBK);如果你加上后还是乱码的话。看下页面头部有没有定义字符集。如果问题解决,请采纳。
charset=utf-8);让浏览器也使用这个编码 并且在连接数据库的时候 mysql_query(SET NAMES utf8); 那么就不会出现乱码 问号 空白等情况了。 其实就是让数据库 页面 浏览器编码一致就可以。你检查一下。
php代码当中问号的作用大概分为两类,一类是在PHP标签中使用的“?php”、“?”这对标记,还有一类是用在三元运算符中的“?”操作符,像这样:$a == 1?true:false。
Q4: PHP读取数据库中文全是问号
1、,数据库字段编码问题,一般从页面提交过去的数据都是utf8的,数据库字段编码如是gbk的就会出现这样的问题。2,如果通过命令行进入数据库的话,先执行下set names utf8 然后在查询数据库,试试。
2、if ($db-server_info()0.1){ db-query(set names gbk2312);或者是GBK } 把IF去掉 补充:输出之后,你试试IE切换编码,看哪种编码能显示中文,你再把数据库编码以及页面编码调整统一。
3、如果你是Window系统的话,你可以进入cms命令行对数据库进行修改编码操作命令 set names gb2312,(具体的进入命令行自己到网上查。)linux就简单了,这个就不教了,谁叫linux就是命令的天下呢。
Q5: 我用PHP从mysql取出数据然后转Json,但是为什么中文显示的是问号
1、因为你mysql中被写入的确实是?,所以无论页面怎么转码都没用的。
2、有两个建议:因为mysql数据库默认的就是utf-8的,如果你是Window系统的话,你可以进入cms命令行对数据库进行修改编码操作命令 set names gb2312,(具体的进入命令行自己到网上查。
3、是字符编码问题 mysql字符编码有四个级别 服务器级,数据库级,表级,字段级.前三种均为默认设置,并不代表你的字段最终会使用这三种之一字符集设置,以字段级为准。
4、解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。
5、你好,这是json对中文处理后的编码,不属于乱码,如果不想它编码可以在json_encode的第二个参数加 JSON_UNESCAPED_UNICODE 。
6、JSON又是UTF-8编码,所以你的文件可能是GB2312格式,所以导致JSON内的中文乱码。这种情况转换为UTF-8格式就可以了。
关于php数据输出为问号和php输出文本的三种方式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







