<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 55  文章 - 187  trackbacks - 0
    <2008年6月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    常用鏈接

    留言簿(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 on 2008-06-11 16:54 大衛 閱讀(8968) 評論(8)  編輯  收藏 所屬分類: 數據庫

    FeedBack:
    # re: mysql編碼轉換搞定[未登錄] 2008-06-12 09:08 paul
    lz上文中提到的BOM格式是什么,能具體解釋下嗎?前幾天遇到resin3.0.x的jsp升級到resin3.1.x不能編譯問題。查了一下也提到bom,但沒明白、請lz賜教下  回復  更多評論
      
    # re: mysql編碼轉換搞定 2008-06-12 16:07 懶人
    @paul
    resin3.0.x主要做哪方面開發來著?  回復  更多評論
      
    # re: mysql編碼轉換搞定 2008-06-12 16:34 愛好編程
    汗 你這篇文章基本上就是原文轉載了 還參考啥
    沒有版權意識 真汗  回復  更多評論
      
    # re: mysql編碼轉換搞定 2008-06-12 22:24 大衛
    @paul
    “BOM——Byte Order Mark,就是字節序標記。在這里找到一段關于BOM的說明:

    在UCS 編碼中有一個叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的編碼是FEFF。而FFFE在UCS中是不存在的字符,所以不應該出現在實際傳輸中。UCS規范建議我們在傳輸字節流前,先傳輸字符"ZERO WIDTH NO-BREAK SPACE"。這樣如果接收者收到FEFF,就表明這個字節流是Big-Endian的;如果收到FFFE,就表明這個字節流是Little- Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被稱作BOM。

    UTF-8不需要BOM來表明字節順序,但可以用BOM來表明編碼方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8編碼是EF BB BF。所以如果接收者收到以EF BB BF開頭的字節流,就知道這是UTF-8編碼了。Windows就是使用BOM來標記文本文件的編碼方式的。”

    我的理解,BOM就是一些附加信息,實際上不屬于數據內容。  回復  更多評論
      
    # re: mysql編碼轉換搞定 2008-06-12 22:27 大衛
    @愛好編程
    應該怎么做才有版權意識?我已經標注了文章出處了。
    另外,我也加上了自己的一些標注,是便于自己記錄的。
    而且,我是在尋找了很多方法之后,經過此法才成功的,記錄下來,有什么不對嗎?  回復  更多評論
      
    # re: mysql編碼轉換搞定[未登錄] 2008-06-13 09:27 paul
    @懶人
    跟tomcat差不多。servlet容器吧  回復  更多評論
      
    # re: mysql編碼轉換搞定[未登錄] 2008-06-13 11:29 paul
    這篇對bom等編碼又更多解釋
    http://lavasp.javaeye.com/blog/103731  回復  更多評論
      
    # re: mysql編碼轉換搞定 2008-06-13 12:59 ~上善若水~
    傳智播客 &amp; ajax全套獨家發布

    1.ajax 入門

    2.ajax 原理

    3.ajax 簡單實例

    4.ajax 無限級聯動菜單

    5.ajax 簡易聊天室

    6.ajax 開源框架簡介

    7.DWR 框架源碼分析一

    8.DWR 框架源碼分析二

    9.DWR 框架源碼分析三

    10.DWR 框架源碼分析四

    11.DWR框架源碼分析五

    12.SSH + DWR完成商城驅動

    13. Extjs 簡介

    14 Extjs&nbsp; 簡單實例

    15.SSH + Extjs 開發系列之OA一

    16. SSH + Extjs 開發系列之OA二

    17. SSH + Extjs 開發系列之OA三

    18. SSH + Extjs 開發系列之OA四

    19 .SSH + Extjs 開發系列之OA五

    20.&nbsp;SSH + Extjs 開發系列之OA六

    21. SSH + Extjs 開發系列之OA七

    22.&nbsp;SSH + Extjs 開發系列之OA八

    23.SSH + Extjs 開發系列之OA九

    24.SSH + Extjs 開發系列之OA十

    25. ajax 前景之我見

    下載地址:http://www.ibeifeng.com/read.php?tid=2338&u=5043  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产又黄又爽又刺激的免费网址 | 亚洲AV无码国产精品麻豆天美| 亚洲国产精品成人久久| 亚洲人成影院77777| 67pao强力打造高清免费| 国产一级淫片免费播放| 男人的天堂av亚洲一区2区| 国产男女猛烈无遮挡免费网站 | 亚洲av无码专区在线播放| 抽搐一进一出gif免费视频| 国产成人综合亚洲AV第一页| 国产人成网在线播放VA免费| 亚洲国产另类久久久精品| 亚洲免费综合色在线视频| 一二三四影视在线看片免费| 亚洲成在人线aⅴ免费毛片| 91在线老王精品免费播放| 亚洲人成电影网站| 国精产品一区一区三区免费视频| 四虎影视永久免费观看网址| 三级片免费观看久久| 亚洲日韩精品一区二区三区无码 | 国产午夜精品理论片免费观看| 黄瓜视频高清在线看免费下载| 亚洲av永久无码精品国产精品| 黄人成a动漫片免费网站| 亚洲一区二区三区影院| 综合一区自拍亚洲综合图区| 成人免费一级毛片在线播放视频| 久久青青草原亚洲AV无码麻豆 | 亚洲免费视频观看| 国产免费人视频在线观看免费| 97久久国产亚洲精品超碰热| 免费一级毛片在线观看| 亚洲AV无码一区二区一二区| 国产精品久久永久免费| 国产亚洲美女精品久久久久| 亚洲国产精品无码久久久不卡| 国产免费久久久久久无码| 亚洲AV综合色区无码二区偷拍| 免费女人高潮流视频在线观看|