mysql和phpmyadmin乱码

eagle202007 2009-08-05 10:42:14
我的问题可能比较长,请大家耐心看一下。

问题一

我已经设置了
character_set_server
character_set_database
character_set_client
character_set_connection
character_set_result
character_set_system
都为utf8,而且把
collation_connection
collation_server
collation_database
也都设置成utf8_general_ci

然后建立了一张表
(代码为create table mm(name varchar(10) not null)engine=myisam default charset=gb2312)
然后在mysql command line clien输入:

set names gb2312;
insert into mm values("我");

然后正常输出,没有乱码。

然后我在phpmyadmin输入数据,却输入不了中文,错误提示是"data too long for...."。

我将mm表的name字段的整理设为utf8(原先是gb2312),就可以输入中文了,并且在phpmyadmin显示正常,但我回
到mysql command line client却看见显示乱码。

我为这问题已伤透脑筋,就是在mysql command line client 输入中文正常,显示也正常,但在phpmyadmin就显示乱码,
而且不能输入中文。而如果phpmyadmin能输入中文,并且显示正常,在mysql command line client 就显示乱码。

请各位高手帮帮忙

问题二

我的一张表里有一个text 类型的字段,就是要输入很长的一篇文章,我想用load data infile语句从外部txt文档导入,
但不知道命令行如何写,就是那篇文章要原样导入,分行,分段,空格不要变。请高手帮我写一下,谢谢啦.
...全文
210 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
paulpeath 2009-08-11
  • 打赏
  • 举报
回复
我已经把所有的编码都设置一样了。都设为utf8
建表时设置为utf8.

不通过命令行输入,建立一sql文件,文件格式为utf8,通过执行这一命令文件.对数据库进行追加.
-------------------------------------------------------------------------------------
下面是在数据表中加入一条记录写法,已成功加入.
use ses_db;
set names utf8;
insert into Question_math(
recno ,
UserId ,
SubjectId ,
Knowledge ,
Type ,
Question ,
Answer ,
Degree ,
Putdate
) values(1,'Elim',1,'111','1',
'<object_1><subject_1>若关于方程3x+5=m与方程x-2m=5有相同的解,则x的值是?</subject_1>
<question>
<SimpleChoice>
<Choice><text>(A)3</text>
</Choice>
<Choice><text>(B)-3</text>
</Choice>
<Choice>
<text>(C)4</text>
</Choice>
<Choice><text>(D)-4</text>
</Choice>
</SimpleChoice>
</question>
</object_1>
','B','2','2009-04-19 20:00:00');
fenyao 2009-08-11
  • 打赏
  • 举报
回复
编码问题很烦人的
帮顶吧
wenjianghe 2009-08-11
  • 打赏
  • 举报
回复
命令行下中文会出现?,英文不会,你全用英文就没问题了。如果不行,放弃命令行使用phpMyAdmin吧。
wenjianghe 2009-08-11
  • 打赏
  • 举报
回复
全都设置成gb2312
yw1386 2009-08-05
  • 打赏
  • 举报
回复
你索性设置的时候把编码都设置一样的,然后在你输出的的时候你可以改编码,set names ...;建表的时候就不要再带上什么编码,一句话,尽量保持编码一致,不然会产生编码冲突的!“错误提示是"data too long for...."。”,没有看懂意思吗?
eagle202007 2009-08-05
  • 打赏
  • 举报
回复
我已经把所有的编码都设置一样了。都设为utf8

之所以在建表时设置为gb2312,是因为不这样做是输入不了中文,会显示"data too long..."

21,886

社区成员

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

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