请求解决表单数据中文乱码问题

mirrorspace 2009-07-21 07:57:52
您好,我需要向数据库插入中文数据可是插入后都是乱码,或者干脆空白没有请懂的朋友帮忙
环境:
FC7
apache2.0 mysql 5.0 php5.0
mysql数据表在终端命令行中可以显示中文,前提是把命令终端字符设为gb2312,从命令行执行php脚本可以将中文插入到mysql而不显示乱码,转到网页上,从表单中输入中文数据,不能插入到mysql中,字母和数字可以,中文的地方都是空白,我的相关软件都是随系统一起装好,没有乱改过,请了解的朋友指点一下啊。谢谢了。
...全文
69 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
vinsonshen 2009-07-28
  • 打赏
  • 举报
回复
这句是关键:

SET NAMES ‘GB2312’

凡是数据库,都要很认真的注意字符集问题
mirrorspace 2009-07-28
  • 打赏
  • 举报
回复
感谢了!看着LS上资料,终于弄好了。只是觉得偶然就弄好了,
执行SET NAMES ‘GB2312’PHP脚本里查询之前也用这句,制表时加上CHARSET=UTF8,表单网页也是UTF8,改了这几样之后可以正确的往MYSQL里插入显示中文了。
ACMAIN_CHM 2009-07-24
  • 打赏
  • 举报
回复
请贴出你的show create table 语句。
mirrorspace 2009-07-24
  • 打赏
  • 举报
回复
表的字符集改过了,需要显示中文的字段也改,(两个ENUM型)成了GB2312可是数据导入之后仍然是空白,而且用DESC TABLE 也显示不了建表时列表字段中的中文。

ls所说没有指定编码,是指在哪里指定啊?
sciland 2009-07-24
  • 打赏
  • 举报
回复
从数据库取数据到程序中时,没有指定编码,1楼的说的对
mirrorspace 2009-07-23
  • 打赏
  • 举报
回复
你好,我用 show variables like 'char%';查看了字符设置,除了 set_system是UTF8 以外,其它都是拉丁,我还是没弄好,不知道关键是要设置哪个地方
ACMAIN_CHM 2009-07-23
  • 打赏
  • 举报
回复
没什么好办法,只能先把你表中的数据全部导出,清空表,然后将表的字符集改为gb2312 或gbk ,然后再将数据导入。
mirrorspace 2009-07-23
  • 打赏
  • 举报
回复
ls的朋友,我用你的方法查过了,表字符集是latin1,应该怎样改?
ACMAIN_CHM 2009-07-23
  • 打赏
  • 举报
回复
[Quote]1。看一下你的表的字符集设置。 show create table t1;[/Quote]
ACMAIN_CHM 2009-07-21
  • 打赏
  • 举报
回复
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

字符集设置的问题。

1。看一下你的表的字符集设置。 show create table t1;
2。mysql_query("set names 'gb2312';")

关键要看你的具体情况。

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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