易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL生僻字无法显示解决方法

第一次采用MySQL作为业务应用的数据库,由于经验不够丰富,在安装数据库的时候选择了GB2312编码。
起先用的也算得心应手,然而后续发现了生僻字不能显示的情况,把我搞得焦头烂额。经过好几天的摸索、
学习,终于把问题解决了。记下解决步骤,与跟我一样的新手分享。
步骤一: 分析出现乱码的原因
由于GB2312字符集只收录了6763个汉字,导致一些生僻字无法正常显示。
步骤二:确定解决方法
把字符集由GB2312改成GBK。但是由于不能丢弃之前的数据,如何修改MySQL的字符集成了关键。
步骤三:字符集的修改
a. 先导出表结构
mysqldump -u root -p --default-character-set=gbk -d 数据库名 > createdb.sql
其中参数-d表示只导出表结构,不导出数据。
b. 打开createdb.sql,手工把gb2312替换成gbk。
c. 导出所有记录
mysqldump -u root -p --quick --no-create-info --extended-insert --default-character-set=gb2312 数据库名 > data.sql
其中参数--no-create-info表示不生成建表语句;--default-character-set=gb2312表示按照原来字符集导出所有数据。
d. 打开data.sql,手工把SET NAME gb2312改成SET NAME gbk。
注意:如果data.sql很大,可能需要找一些替换工具来完成替换操作,否则可以直接用UltraEdit之类的编辑工具打开修改。
e. 在新的服务器上创建表,执行createdb.sql。
mysql -u root -p 数据库名 < createdb.sql
f. 导入数据,执行data.sql
mysql -u root -p 数据库名 < data.sql
g. 创建数据库用户。
到这儿已经完成了数据库字符集从gb2312到gbk的修改,接下去可以登录数据库,手工把显示为"?"的乱码字重新更新一下。
看看是不是大功告成了!


相关文档:

php 解析 excel 存储到 mysql 乱码


编码是个很基础的问题,也是大家很容易忽略的问题,写代码之前多多考虑,以后会少很多麻烦。
PHP发展了不少,现在pear用起来很方便,其中就有相关的class来读取Excel文件里面的内容,如果不想使用pear的话,可以考虑使用excel_class.php,google一下,可以找到这个class的source code下载,也能找到基本的example c ......

主流数据库MYSQL/MSSQL/ORACLE测试数据库脚本代码


/******************************************************************************/
/*
主流数据库MYSQL/MSSQL/ORACLE测试数据库脚本代码
脚本任务:建立4个表,添加主键,外键,插入数据,建立视图
运行环境1:microsoft sqlserver 2000 查询分析器
运行环境2:mysql5.0 phpMyAdmin网页界面
运行环境3:oracle 9i SQL*P ......

MySQL数据库中的Date,DateTime和TimeStamp类型

DATETIME, DATE和TIMESTAMP类型是相关的。本文描述他们的特征,他们是如何类似的而又不同的。
  
DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD
HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00'到'9999-12-31
23:59:59'。(“支持”意味着尽管更早 ......

对mysql的order by及limit优化要适数据情况而定

以下这篇文章论述上在什么情况下子查询比一般的内连接查询更加快速
http://www.mysqlperformanceblog.com/2010/03/18/when-the-subselect-runs-faster/
以下是我对mysql的order by和limit优化的建议,要适表的数据量和用来过滤列的唯一值的个数而定
(1)where子句中用来过滤结果的列所在索引的cadinality很小,即用相关 ......

[转]mysql修改表结构alter


 
[转自]http://waryist.javaeye.com/blog/104739
ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]
alter_specification:
        ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
  or    ADD ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号