本地搭建程序显示都没问题了
但是插入数据的时候中文就会变成问号
插入英文正常
很明显是中文编码的问题
把数据库导入的时候设置成utf-8再次进行插入还是显示问号
网上查了一下
有人说修改mysql的配置文件在相对应的位置添加如下代码
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
结果修改了之后mysql直接启动不起来
于是去除了配置文件里添加的内容重新启动mysql成功
虽然建库的时候选择的是utf-8
但是用这条命令查了一下show create database DATABASE_NAME;
果然还是latin1
怪不得会一直显示问号
原因找到了就好解决了
利用下面命令修改一下数据库的字符集就行了
alter database DATABASE_NAME default character set 'utf8';
这样执行之后 再次导入数据脚本
然后插入中文看了一下显示正常了
另附上mysql字符集操作的其他的一些命令
1.列出MYSQL支持的所有字符集:
SHOW CHARACTER SET;
2.当前MYSQL服务器字符集设置
SHOW VARIABLES LIKE 'character_set_%';
3.当前MYSQL服务器字符集校验设置
SHOW VARIABLES LIKE 'collation_%';
4.显示某数据库字符集设置
show create database 数据库名;
5.显示某数据表字符集设置
show create table 表名;
6.修改数据库字符集
alter database 数据库名 default character set 'utf8';
7.修改数据表字符集
alter table 表名 default character set 'utf8';
8.建库时指定字符集
create database 数据库名 character set gbk collate gbk_chinese_ci;
9.建表时指定字符集
CREATE TABLE `mysqlcode` (
`id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`content` VARCHAR( 255 ) NOT NULL
) TYPE = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci;
thanks link http://hi.baidu.com/luzechao/blog/item/9a61860a7b2aac0195ca6bbc.html
alter table test rename test1; --修改表名
alter table test add column name varchar(10); --添加表列
alter table test drop column name; --删除表列
alter table test modify address char(10) --修改表列类型
||alter table test change address address char(40)
alter table test change column address address1 varchar(30)--修改表列名
转载于:https://blog.51cto.com/lansgg/1022583