MySQL (4.17) 问题

smice 2004-11-29 05:13:07
我的程序使用MySQL来save数据, 有一个default char set .
我的程序全部使用的是utf-8.但是有中文有别的文字。

1. 我要怎么设置这个default char set呢?
2. default char set 是做什么用的?

[default char set] = DCS
我把DCS设置成utf-8 bin后,我post中文到数据库中是乱码,用默认的是latin1_swedish_ci反到是没有乱码, 不过在phpmyadmin中的utf-8中就没法查看这个内容了。

希望用过的朋友可以帮个忙,谢谢.
...全文
119 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
smice 2004-12-01
  • 打赏
  • 举报
回复
呵呵, 这个问题不是那么简单的了. 不过我自己搞定了. 好复杂的.不过还是要谢谢 你们.特别是
ice_berg16(寻梦的稻草人)

Thanks.
ice_berg16 2004-12-01
  • 打赏
  • 举报
回复
从上面可以看出,你的表不是UTF编码
而使用的查询语句是UTF8的
也就是说name列的编码是拉丁
而sdf%的编码是utf8
有二种选择
1.将表编码改成utf8的
2.使用带Collation的SQL语句
SELECT id FROM ice_products WHERE _utf8`name` LIKE 'sdf%' OR _utf8`intro` LIKE 'sdf%' ORDER BY level,id DESC
smice 2004-12-01
  • 打赏
  • 举报
回复
这样的SQL也不行:
SELECT id FROM ice_products WHERE `name` LIKE 'sdf%' OR `intro` LIKE 'sdf%' ORDER BY level,id DESC

ERROR:
#1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
smice 2004-12-01
  • 打赏
  • 举报
回复
是一样的。 page是utf-8, post的也是utf-8, 我的页面是utf-8的, query出来的数据是乱码,非正常字串。 中文的字。
ice_berg16 2004-11-30
  • 打赏
  • 举报
回复
我post中文到数据库中是乱码
从哪里看是乱码??

你post的是UTF8的数据,保存进最好也使用UTF8来保存
在连接数据库之后设置一下客户端的编码

mysql_query("SET NAMES utf8");
你数据库的编码也要是UTF8的,
显示的时候也要指定<meta http-equiv="content-type" content="text/html;charset=utf-8"/>

也就是说整个过程都保持一致就没问题了.
ashchen 2004-11-30
  • 打赏
  • 举报
回复
那就用4.0.X版本的啊
smice 2004-11-30
  • 打赏
  • 举报
回复
michaelle0618,可能你还没有明白。 这个只和database相关。 我的资料本身就是utf-8的, 不需要转换的。这个是数据问题, 和php无关。 ICONV是PHP的Convert。 和我的问题没有关系。
michelle0618 2004-11-30
  • 打赏
  • 举报
回复
你数据库中存为gb2312的阿,如果查看要用utf-8那么你用iconv("GB2312","UTF-8",$str)转换就可以了阿。。。。
smice 2004-11-30
  • 打赏
  • 举报
回复
顶上去! 真的没人知道吗?~o~
smice 2004-11-29
  • 打赏
  • 举报
回复
顶上去!
smice 2004-11-29
  • 打赏
  • 举报
回复
顶上去。

21,886

社区成员

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

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