php5 + apache2 + mysql5 有时候乱码问题

三省Ta叔 2008-05-05 04:08:06
windows
php5 + apache2 + mysql5 有时候乱码问题
--------------------
网站跟mysql辅助工具查看数据时候有时候是乱码
把辅助工具关闭,重新打开,查询数据,这样又不是乱码了。。。
网站的话,刷新有时候是乱码,有时候又好了,不知道是什么原因

php.ini里设置default_charset = "gb2312" 以前是 default_charset = "utf-8",,但是也出现上面的问题
mysql设置都是默认的。
那位遇到这样的情况么?是怎么解决的,或者有可能是那些情况,需要怎么解决
谢谢了!!!
...全文
109 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunfan1010 2008-05-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 julychina 的回复:]
PHP文件 本身/HTML编码/数据库链接
三者编码都要统一.
[/Quote]
swsky 2008-05-06
  • 打赏
  • 举报
回复
<?php

class swallow {
var $querynum = 0;
var $link;
function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0) {
if($pconnect) {
if(!$this->link = @mysql_pconnect($dbhost, $dbuser, $dbpw)) {
$this->halt('Can not connect to MySQL server');
}
} else {
if(!$this->link = @mysql_connect($dbhost, $dbuser, $dbpw)) {
$this->halt('Can not connect to MySQL server');
}
}

if($this->version() > '4.1') {
global $charset, $dbcharset;
if(!$dbcharset && in_array(strtolower($charset), array('gbk', 'big5', 'utf-8'))) {
$dbcharset = str_replace('-', '', $charset);
}

if($dbcharset) {
mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this->link);
}

if($this->version() > '5.0.1') {
mysql_query("SET sql_mode=''", $this->link);
}
}

if($dbname) {
mysql_select_db($dbname, $this->link);
}

}

function select_db($dbname) {
return mysql_select_db($dbname, $this->link);
}

function fetch_array($query, $result_type = MYSQL_ASSOC) {
return mysql_fetch_array($query, $result_type);
}

function query($sql, $type = '') {
global $debug, $discuz_starttime, $sqldebug, $sqlspenttimes;

$func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query') ?
'mysql_unbuffered_query' : 'mysql_query';
if(!($query = $func($sql, $this->link)) && $type != 'SILENT') {
$this->halt('MySQL Query Error', $sql);
}


$this->querynum++;
return $query;
}

function affected_rows() {
return mysql_affected_rows($this->link);
}

function error() {
return (($this->link) ? mysql_error($this->link) : mysql_error());
}

function errno() {
return intval(($this->link) ? mysql_errno($this->link) : mysql_errno());
}

function result($query, $row) {
$query = @mysql_result($query, $row);
return $query;
}

function num_rows($query) {
$query = mysql_num_rows($query);
return $query;
}

function num_fields($query) {
return mysql_num_fields($query);
}

function free_result($query) {
return mysql_free_result($query);
}

function insert_id() {
return ($id = mysql_insert_id($this->link)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0);
}

function fetch_row($query) {
$query = mysql_fetch_row($query);
return $query;
}

function fetch_fields($query) {
return mysql_fetch_field($query);
}

function version() {
return mysql_get_server_info($this->link);
}

function close() {
return mysql_close($this->link);
}
function halt($err,$sql) {
return $err.$sql;
}
}

?>


用这个类就不用考虑编码问题了,什么都通吃.
不用感谢了,给分就完了.
qiyousheng 2008-05-06
  • 打赏
  • 举报
回复
mysql_query("set names 'utf-8'" );

当然推荐 DM C3。对页面全部使用UTF-8
三省Ta叔 2008-05-05
  • 打赏
  • 举报
回复
编码都是用的utf-8,但是不行
代码不是我写的,最近才转php
但是发现php 读mysql时没发现设置编码方式的
不知道是什么原因
服务器上是用的集成环境,没这问题
但是本地我是自己配置的,没用集成环境
不知道那个地方漏掉了。。。
lvjx125 2008-05-05
  • 打赏
  • 举报
回复
julychina 2008-05-05
  • 打赏
  • 举报
回复
PHP文件 本身/HTML编码/数据库链接
三者编码都要统一.
mlsml 2008-05-05
  • 打赏
  • 举报
回复
楼上说的对,编码统一~~~
fxs_2008 2008-05-05
  • 打赏
  • 举报
回复
最好统一编码
如果客户端页面用gb2312,则在数据库连接后
mysql_query("set names 'gb2312'" );
utf8同理
数据库端编码随便

如果用的是数据库工具,要把该工具的编码选择和数据库表中的编码一致才能正确显示
highjade 2008-05-05
  • 打赏
  • 举报
回复
最重要的是统一,php 和读数据库编码统一。
三省Ta叔 2008-05-05
  • 打赏
  • 举报
回复
?±?ú???á?????? | ?§????±??§?????? | ?§?????í | ?±?ú?????í?? | ?????????§????
???ú???????? | ???????? | ×??????í???ù | ???°°??? | ?ì?????§??????
???????? | ???????? | ?§?????í | ?§??????×??? | ±???????
??????×÷ | ?????¨???????? | ???????? | ?????§???? | ???????í

乱码是这样的东西。。。
沙发自己坐了,不好意思了,嘿嘿

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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