如何實戰解決mysql#1366錯誤

來源:互聯網
上載者:User

仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳

mysql#1366錯誤是在mysql5.0.2以上版本才出現的,不管是編碼還是欄位不符合規則,就通不過mysql嚴格的資料檢查,#1366錯誤就是這樣出現的。 當然如果你有修改my.ini的許可權,通常#1366是很好解決掉的。 只要把my.ini裡的sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"這句話修改成sql-mode="NO_AUTO_ CREATE_USER,NO_ENGINE_SUBSTITUTION"就可以了。 虛擬主機通常沒有這種修改許可權,如果是編碼問題導致的#1366錯誤,那麼請看我下面的介紹吧。 或許對你有些説明。

本人用XOOPS架的網站(www.visteel.com)已經搬過幾次家了,由於每次搬家都沒有做好資料庫的編碼整理,隨著資料表的增多,gb2312、gbk、utf8、latin1等字元整理方式都混在了一起。 而虛擬主機的mysql版本已經是5.1.36了,終於在做資料更新的時候,讓人頭疼的#1366錯誤出現了。 好,還是說解決的辦法吧。 首先我網站資料庫是gbk的,那麼就把裡面的全部資料表重新整理一下吧。

可是已經存儲了資料的表個別是不能再簡單通過phpmyadmin等管理工具處理的了。 這個時候你需要兩個工具,一個是mysqlodbc下載並按裝mysql-connector-odbc-5.1.8-win32一個是navicatformysql。

第一步:控制台->管理工具->資料來源。 在本地Windows下建立個mysqlODBC資料來源,假設命名成visteel

第二步:打開NavicatforMySQL,按一下「Connection」按鈕設置連接。

第三步:連接上資料庫伺服器後按右鍵資料庫伺服器選擇「NewDatabase...」新建一個資料庫。 記得「Characterset」選定gbk;

第四步:選中要轉換的表,將它們拖到新進的資料庫中,在彈出的選項窗中選擇「Copyhere(Structureonly)」,將資料表的結構複製到新資料庫中;

第五步:在新建的資料庫中選中剛導過來的所有的表,右鍵選擇「DumpSQLFile」匯出成sql檔;

第六步:用文字編輯器打開剛匯出的sql檔,將裡面的DEFAULTCHARSET=後面不論是什麼,全部替換成DEFAULTCHARSET=gbk,保存修改過的sql檔。

第七步:全選新建的資料庫中的所有表,按一下「DeleteTable」刪除。 然後按右鍵新建的資料庫選擇「ExecuteSqlFile...」,找到並按兩下改過的sql檔,將改過的sql檔重新導回資料庫中。

第八步:選中新建的資料庫然後再點擊:「ImportWizard」按鈕。 選擇ODBC,點下一步。

第九步:點「ImportFrom:」右邊的「...」按鈕,然後在「資料連線」屬性視窗選擇「連接」這一頁,在「1、指定資料來源」中選擇在第一步中建立的資料來源「visteel」;確定後返回「step2of8」視窗,選中需要轉換的表 ,或者點擊「selectall」按鈕選擇整個資料庫的所有的表。 連續點擊三次「next」按鈕後來到「Step7of8」對話方塊。

第十步:選擇「Copy:deleteallrecordsindestination,repopulatefromthesource」:再按一下」next」來到「step8of8」對話方塊。

第十一步:按一下按鈕「start」開始轉換,直到出現資訊「[Msg][lmp]Finished-Successfully」。

到此,資料庫完美完成了GBK的整理。 編輯XOOPS根目錄下的mainfile.php檔,將define('XOOPS_DB_CHARSET','gb2312')修改成define('XOOPS_DB_CHARSET','gbk');

將本機資料庫匯出上傳到虛擬主機進行測試,至此,mysql#1366錯誤全部消失掉了。 而且生僻漢字也不再是用?? 顯示了。

Admin5首發,轉載請注明文章來源www.visteel.com

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.