超级郁闷 php连接mysql乱码:能使的方法都试过了 。可还是乱码。求助……

lonelyriver 2009-03-16 05:01:41
第一 list.php文件中加入了header("content-type:text/html; charset=utf-8");
第二 创建数据库的时候选择的编码是:utf_general_ci
第三 创建表的时候字段也是选择的utf8_unicode_ci
第四 连接是单独的conn.php文件 而且sql查询语句后加了mysql_query("set names 'utf8'");
第五 浏览器 是自动选择编码 而且勾选了 unicode(utf-8);

list.php文件在运行的时候 table里边的数据怎么还是 ????????????????一大串问好啊?????
已经郁闷了好几天了 ………………
还有哪个地方没有考虑到的吗 》》???
我的环境是wamp5 + DW 高分相送
...全文
1152 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
shigeng 2010-04-07
  • 打赏
  • 举报
回复
我也遇到了类似的问题,同样的代码,所有东西都是UTF8,只不过两台电脑,两个数据库版面,结果一台就是乱码,尤其是用持久连接的时候,mysql_query("SET NAMES 'utf8'")无效,最后用16 楼 ljf_ljf说的方法解决mysql_set_charset()
  • 打赏
  • 举报
回复
楼主恶心,解决了,不贴出来我看了半天都不知道怎么解决的!!
magicwen2002 2009-03-29
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 ljf_ljf 的回复:]
1 你是使用什么版本PHP 和 什么版本MYSQL
2 若你使用的PHP 5.02 以上版本,可以使用 mysql_set_charset()函数来解决。

[/Quote]

这个是正解了
lonelyriver 2009-03-29
  • 打赏
  • 举报
回复
解决了
程序猿之殇 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 froole 的回复:]
php文件最好也用UTF-8保存
还有就是,你保存的数据本身是否有错误,先确认一下。
[/Quote]
数据本身不是utf-8的,你设置了也没用.
你这样做的设置只能保证新的数据没有问题.
zilingzhi 2009-03-23
  • 打赏
  • 举报
回复
还没有解决啊?
几天了啊。
告诉你四个字:
不破不立。重新写。写完一小段就测试。谨慎一点。差不多就OK了
hoverlees 2009-03-23
  • 打赏
  • 举报
回复
将你的php文件也存为utf8编码。
gegewu_1981 2009-03-23
  • 打赏
  • 举报
回复
数据库编码和php编码不一致造成的,统一一下编码就没问题了
csfreesky 2009-03-23
  • 打赏
  • 举报
回复
怀疑是文件本身乱码
Zijian_Zhang 2009-03-22
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lonelyriver 的回复:]
引用 7 楼 gingzai777 的回复:
引用 6 楼 lonelyriver 的回复:
5楼的大哥  俺照你说的做了 可还是不行哦 ??????????????????????
还是串串问号……


DW 你是怎么保存的????

DW是根据你的 <meta〉来保存的。


<meta〉在哪里??
[/Quote]

你自己写个:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


然后在DW刷新一下,再保存,这样才是UTF-8的文件。
北里闻箫 2009-03-22
  • 打赏
  • 举报
回复
第四 连接是单独的conn.php文件 而且sql查询语句后加了mysql_query("set names 'utf8'");

改为mysql_query("set names 'utf_general_ci'");
其他地方不变。

潇湘博客 2009-03-21
  • 打赏
  • 举报
回复
页面文件、数据库、 数据库连接 都 utf8
dlqq1633 2009-03-21
  • 打赏
  • 举报
回复
有时候东西加多了反而会乱, 你就用 iconv函数转换一下.
mengshan1986 2009-03-21
  • 打赏
  • 举报
回复
先用这个show variables like 'character%';查看当前数据库编码如果如下图是需要自己修改的这是ubuntu下配置,如果是windows下需要修改my.ini,修改的地方是一样的。
配置mysql编码:
mysql -u root
>show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
修改mysql的配置文件my.cnf
sudo nano /etc/mysql/my.cnf
有3个地方需要动的

[client]下面加上
default-character-set=utf8
[mysqld]下面加上
default-character-set=utf8
init_connect='SET NAMES utf8'
保存后重启mysql
zilingzhi 2009-03-21
  • 打赏
  • 举报
回复
我不知道编码哈
UTF-8是繁体中文吧。
yctin 2009-03-20
  • 打赏
  • 举报
回复
页面文件, 数据库 , 数据库连接 统一 utf8就不会有问题了

header("content-type:text/html; charset=utf-8"); 不需要
部份乱码很可能是list.php文件跟数据库不同编码
jackydrl 2009-03-20
  • 打赏
  • 举报
回复
其他地方免????绝对不行的
eduyu 2009-03-20
  • 打赏
  • 举报
回复
看我的博客文章,刚好解决你的问题:
http://iamduyu.cn/?p=318
ljf_ljf 2009-03-19
  • 打赏
  • 举报
回复
1 你是使用什么版本PHP 和 什么版本MYSQL
2 若你使用的PHP 5.02 以上版本,可以使用 mysql_set_charset()函数来解决。
HuBeiEnShiHuTao 2009-03-19
  • 打赏
  • 举报
回复
在你输入数据到的数据库的页面,编码改成utf-8,meta标签
我以前也遇到过
加载更多回复(21)

21,886

社区成员

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

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