<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 大衛 閱讀(8969) 評論(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无码乱码在线观看富二代| 99免费精品视频| 亚洲一区二区三区四区在线观看| **aaaaa毛片免费| ww亚洲ww在线观看国产| 毛片免费全部免费观看| 国产精品亚洲一区二区三区久久 | 亚洲精品国产自在久久| 中文字幕的电影免费网站| 亚洲成AV人片一区二区密柚| 久久国产精品2020免费m3u8| 亚洲美女人黄网成人女| 四虎免费大片aⅴ入口| 又黄又大的激情视频在线观看免费视频社区在线 | 国产成人亚洲综合无| 久久亚洲AV无码西西人体| 精品亚洲永久免费精品| 亚洲精品中文字幕无乱码| 香蕉视频在线观看免费国产婷婷| 老司机午夜免费视频| 久久青青草原亚洲AV无码麻豆| 天天影院成人免费观看| 精品久久久久久亚洲综合网| 亚洲色成人中文字幕网站| 免费h片在线观看网址最新| 国产亚洲人成在线播放| 亚洲午夜福利在线观看| 99无码人妻一区二区三区免费| 亚洲暴爽av人人爽日日碰| 亚洲欧洲精品无码AV| 无人影院手机版在线观看免费| 美女黄色毛片免费看| 久久久无码精品亚洲日韩京东传媒 | 国产亚洲一卡2卡3卡4卡新区| 亚洲乱码日产一区三区| 国产美女在线精品免费观看|