随笔 - 55  文章 - 187  trackbacks - 0
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿(12)

随笔分类

随笔档案

groovy

搜索

  •  

最新评论

阅读排行榜

评论排行榜

按照下面做法,终于成功了!庆祝,纪念......

背景:某个系统的mysql数据库dnname采用默认的latin1字符集,系统升级需要将所有数据转换成utf-8格式,目标数据库为newdbname(建库时使用utf8)

方法一:

步骤一 命令行执行:mysqldump --opt -hlocalhost -uroot -p*** --default-character-set=lantin1 dbname > /usr/local/dbname.sql

步骤二 将 dbname.sql文件中的create table语句的CHARSET=latin1改为CHARSET=utf8

步骤三 在dbname.sql文件中的insert语句之前加一条'set names utf8;'

步骤四 将dbname.sql转码为utf-8格式,建议使用UltraEditor,可以直接使用该编辑器的'转换->ASCII到UTF-8(Unicode编辑)',或者将文件另存为UTF-8(无BOM)格式

步骤五 命令行执行:mysql -hlocalhost -uroot -p*** --default-character-set=utf8 new_dbname < /usr/local/dbname.sql

总结:这种方法有个致命之处就是当数据中有大量中文字符和其他特殊符号字符时,很有可能导致在[步骤五]时报错导致无法正常导入数据,如果数据库比较大可以分别对每张表执行上述步骤

方法二(推荐大家使用):

为了解决第一种方法中总结时说到的问题,在网上苦苦查找了一天资料才东拼西凑的搞出一个比较稳妥的解决方法

步骤一 将待导出的数据表的表结构导出(可以用Phpmyadmin、mysqldump等,很简单就不说了),然后将导出的create table语句的CHARSET=latin1改为CHARSET=utf8,在目标库newdbname中执行该create table语句把表结构建好,接下来开始导出-导入数据。命令:

./mysqldump -d DB_Dig > /usr/local/tmp/tables.sql

 

步骤二 命令行:进入mysql命令行下,mysql -hlocalhost -uroot -p*** dbname

步骤三 执行SQL select * from tbname into outfile '/usr/local/tbname.sql';

步骤四 将tbname.sql转码为utf-8格式,建议使用UltraEditor,可以直接使用该编辑器的'转换->ASCII到UTF-8(Unicode编辑)',或者将文件另存为UTF-8(无BOM)格式

步骤五 在mysql命令行下执行语句 set character_set_database=utf8;  注:设置mysql的环境变量,这样mysql在下一步读取sql文件时将以utf8的形式去解释该文件内容

步骤六 在mysql命令行下执行语句 load data infile 'tbname.sql' into table newdbname.tbname;

注意:千万不要忘了第四步

采用第二种方法,所有数据均正常导入,且格式转换成功没有乱码。


参考:http://blog.csdn.net/guoguo1980/archive/2008/01/28/2070701.aspx

--------------------

    WE准高手

posted @ 2008-06-11 16:54 大卫 阅读(8946) | 评论 (8)编辑 收藏

编译:

运行junit:
 java -cp ../lib/junit.jar:../lib/j2ee.jar:. junit.textui.TestRunner com.chinaren.common.ToolKitTest

posted @ 2008-06-10 18:32 大卫 阅读(1183) | 评论 (0)编辑 收藏
build.xml
 1<?xml version="1.0"?>
 2<project name="anttest" default="run">
 3    <property name="build.path" value="build/classes/"/> 
 4    <path id="compile.classpath">
 5        <fileset dir="lib">
 6            <include name="*.jar"/>
 7        </fileset>
 8    </path>
 9
10    <target name="init">
11        <mkdir dir="${build.path}" />
12        <mkdir dir="dist" />
13    </target>
14    <target name="compile" depends="init">
15        <javac srcdir="src/" destdir="${build.path}" classpath="${build.path}">
16            <classpath refid="compile.classpath"/>
17        </javac>
18        <echo>compilation complete!</echo>
19    </target>
20    <target name="run" depends="compile">
21        <java classname="org.test.work.HelloWorld" classpath="${build.path}" />
22        <echo>Run complete!</echo>
23    </target>
24
25    <target name="test" depends="compile">
26        <junit printsummary="on" haltonfailure="true" showoutput="true">
27            <classpath refid="compile.classpath"/>
28            <classpath path="${build.path}"/>
29            <formatter type="xml" />
30            <test name="org.test.work.HelloWorldTest"/>
31        </junit>
32    </target>
33    
34</project>

HelloWorld.java
 1package org.test.work;
 2
 3public class HelloWorld{
 4
 5    public String showMessage(){
 6        return "Hello world!!!";
 7    }

 8
 9    public static void main(String[] args){
10 
11        System.out.println("Hello world!!!");
12    }

13}


HelloWorldTest.java
 1package org.test.work;
 2
 3import static org.junit.Assert.*;
 4import org.junit.*;
 5
 6import org.test.work.HelloWorld;
 7
 8public class HelloWorldTest{
 9
10    private static HelloWorld hw = null;
11
12    @BeforeClass
13    public static void setUp(){
14        hw = new HelloWorld();
15    }

16
17    @Test
18    public void showHelloWorld(){
19        assertEquals(hw.showMessage(),"Hello world!!!");
20    }

21
22    @AfterClass
23    public static void tearDown(){
24        hw = null;
25    }

26
27}
posted @ 2008-06-09 20:24 大卫 阅读(416) | 评论 (0)编辑 收藏

JSP+jQuery+Spring+iBatis

posted @ 2008-05-29 21:06 大卫 阅读(258) | 评论 (0)编辑 收藏
编译:
1D:\je-3.2.76\examples\je>javac -classpath ..\..\lib\je-3.2.76.jar .\SimpleExample.java

执行:
D:\je-3.2.76\examples>java -classpath .\;..\lib\je-3.2.76.jar je.SimpleExample
posted @ 2008-05-07 15:28 大卫 阅读(440) | 评论 (1)编辑 收藏
仅列出标题
共10页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last