PHP读取数据库中文全是问号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP读取数据库中文全是问号相关的知识,希望对你有一定的参考价值。
网页中的中文全是问号,网页的编码是GB2312,数据库的编码是GBK,数据库中的数据是正常的,但是显示在网页上就全变成问号了。
<?php
ini_set('date.timezone','Asia/Shanghai');
$serverName = 'xxx'; //mysql数据库服务器ip
$dbUserName = 'xxx'; //数据库用户名
$dbUserPassowrd = 'xxx';//密码
$dbName = 'xxx'; //数据库名称
$db=new mysql($serverName,$dbUserName,$dbUserPassowrd);
if ($db->server_info()>'5.0.1')
$db->query("set names 'gbk'");
$db->SelectDB($dbName);
?>
1楼的办法没用。。。这个程序我在本机测试的时候没有出现这种问题,上传到主机里就出问题了。
2楼办法感觉应该有用。。。可是还是乱码
很可惜,3楼的回答也没有帮助。。。
$db->query("set names gbk2312");或者是GBK
把IF去掉
补充:
输出之后,你试试IE切换编码,看哪种编码能显示中文,你再把数据库编码以及页面编码调整统一。 参考技术A mysql_query("SET NAMES 'GB2312'",$MySQLConnection); 参考技术B 首先,你在读取的页面上的html中需要加入字符编码,在head中加入,比如我们加入的是utf-8型的,那就是 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,然后你再在执行sql语句之前执行
mysql_query("set names UTF8");
希望我的回答对你有所帮助 参考技术C if ($db->server_info()>'5.0.1')
$db->query("set names 'gbk'");
直接改成:
$db->query("set names 'gbk'");
我用PLSQL查出来的数据,看表结构为啥comments显示的全是问号?怎么解决啊求详细方法
1、 在plsql的sql windows 用select 'comment on column '||table_name||'.'||column_name||' is '''||comments||''';'
from dba_col_comments t where t.owner = 'test1';
把查询的结果保存保存为tsv格式
2、 对应的用户以sqlplus连接到另外的数据库中,执行需要导入的tsv文件,
例: SQL> @C:/result.tsv 参考技术A 处理方法:在环境变量中新增以下变量值对:
变量名:NLS_LANG
变量值:AMERICAN_AMERICA.ZHS16GBK
配置完后重启 以下plsql。
已经验证:不要再看楼上那些扯淡的答案了。 参考技术B 我也遇到这种情况了,你解决了吗?怎么破啊 参考技术C 可能是字符集的问题造成的,没有遇到过这样的情况追问
字符集的问题怎么解决,有没有解决方法?
以上是关于PHP读取数据库中文全是问号的主要内容,如果未能解决你的问题,请参考以下文章