主題: MySQL連線校對問題 作者: bibicall 於 四月 05, 2006, 06:35:50 下午 不知道是不是主機商的關係
最近我的資料庫連線校對從utf8_general_ci變成了latin1_swedish_ci 前台呈現沒問題 只是在資料庫裡中文變亂碼,變換 browser 語系為utf-8也還是亂碼 之前 utf8_general_ci的情況下,變換 browser 語系為utf-8可以正確呈現中文 目前使用上沒問題,只是怕到時候換主機商時, 會出現之前老貓的問題 有嘗試過手動將資料庫中所有table與資料庫本身的校對改為utf8_general_ci 可是前台會出現亂碼 :-S 有沒有人有好的解決方式? 我現在有一個想法: 就是先建立一個utf8_general_ci的環境 將虛擬主機的備份資料倒回去 一筆一筆的將亂碼改回正常顯示後 在備份出來,倒回虛擬主機上 不知道這樣會不會成功,工程有點浩大 主題: Re: MySQL連線校對問題 作者: WhiteCloud 於 四月 05, 2006, 08:09:15 下午 是否和這個有關
http://twpug.net/modules/newbb/viewtopic.php?topic_id=1235&forum=14&post_id=4873#forumpost4873 主題: Re: MySQL連線校對問題 作者: bibicall 於 四月 05, 2006, 10:32:43 下午 應該類似吧
總之是語系的問題 只是之前的正常,我猜是因為虛擬主機最近進行版本升級吧 原來的utf8_general_ci全都變成了latin1_swedish_ci 主題: Re: MySQL連線校對問題 作者: ericj 於 四月 06, 2006, 10:33:05 下午 如果之前就是utf8_general_ci的話
最慘的情況就是犧牲最近的就好了.. 基本上如果要避免以後轉換沒問題的話 就是連線校對還有Table裡面的校對全部都要是utf8_general_ci 但是你說你有嘗試把Table改回utf8_general_ci 可是卻變亂碼,是全部都變亂碼還是只有最近的變亂碼(主機升級後) 如果你把Table都改回utf8_general_ci連以前的也都變亂碼的話 那事情就有複雜了.. 主題: Re: MySQL連線校對問題 作者: bibicall 於 四月 06, 2006, 11:00:54 下午 如果你把Table都改回utf8_general_ci連以前的也都變亂碼的話 那事情就有複雜了.. 事情就如你所說的有複雜 因為改過去utf8_general_ci 舊的也變成亂碼 改回latin1_swedish_ci正確顯示 但是在RSS的feed 在newsgator顯示變成亂碼了 不過咧,newsgator最近在發神經中, 也不確定是不是因為修改語系造成的 目前考慮忍痛犧牲,舊店重開 一篇一篇重新發文 只是迴響的部分就很麻煩了 主題: Re: MySQL連線校對問題 作者: markwu 於 四月 07, 2006, 12:57:20 上午 不需要這麼作
這其實是 phpmyadmin 的 bug :( 1. 先在你自己的虛擬主機上裝 一個 phpmyadmin。我假設你知道你的 DB 的設定,所以你知道如何修改 phpmyadmin 的設定檔案,讓 phpmyadmin 可以運作! 2. 修改 /libraries/select_lang.lib.pgp 中的 程式碼: 'utf-8' => 'utf8', 改為 程式碼: 'utf-8' => 'latine1', 4. 這時你會看到會出的檔案都是正確的中文字了。 Mark 主題: Re: MySQL連線校對問題 作者: bibicall 於 四月 07, 2006, 02:03:08 上午 1. 先在你自己的虛擬主機上裝 一個 phpmyadmin。我假設你知道你的 DB 的設定,所以你知道如何修改 phpmyadmin 的設定檔案,讓 phpmyadmin 可以運作! 這就是問題所在之前老貓發表過的[疑難]換主機商、MySQL連線校對和亂碼問題 (http://forum.lifetype.org.tw/index.php?topic=1597.0) sea0964也是提出這個解決方法 問題是,我該如何得知我真正的DB Hostname,而不是localhost 莫非是我進入phpmyadmin的網址? :-S 無法確定Hostname 或 IP 遲遲不敢下手 主題: Re: MySQL連線校對問題 作者: ericj 於 四月 07, 2006, 02:24:28 上午 markwu提到的方法真的很有趣,
沒想到過了快一年了,終於有很解決的辦法了 :p 我剛剛試了一下,以前用utf8塞進latin1 Table的資料都可以正確匯出了 :-D to bibicall: DB hostname應該是看你裝lifetype的時候怎麼設定 這邊就怎麼設定囉。 phpmyadmin只是一套去管理database的程式 其實跟lifetype有點像, so別擔心,設定錯的話只是會連進不去而已, 不會毀了database的XDD 主題: Re: MySQL連線校對問題 作者: bibicall 於 四月 07, 2006, 02:29:37 上午 to bibicall: 所以應該就是用localhost就行嚕?DB hostname應該是看你裝lifetype的時候怎麼設定 這邊就怎麼設定囉。 我想他說那邊要改,會不會是因為他那篇是寫給DreamHost使用者看的 DreamHost的DB好像有另一個hostname的樣子 主題: Re: MySQL連線校對問題 作者: bibicall 於 四月 07, 2006, 04:03:03 上午 已經可以正確顯示中文了
只是目前匯出匯入還是有點小問題 需要先將連線校對改為 utf8_general_ci 嗎?(整個資料庫、table、table下的每個欄位) 因為我先改了之後再匯出,重新匯入後中文變「?」了 天快亮了,睡先,睡飽了在來試 主題: Re: MySQL連線校對問題 作者: ericj 於 四月 07, 2006, 04:10:42 上午 我是改完phpmyadmin的 utf8->latin1後
就直接匯出,這樣看到的SQL就是正確的中文了 要匯進去的時候再把Table和connection的校對設好 還有phpMyAdmin改回來就好了.. 主題: Re: MySQL連線校對問題 作者: fishbudinli 於 十一月 02, 2006, 01:47:39 上午 不需要這麼作 這其實是 phpmyadmin 的 bug :( 1. 先在你自己的虛擬主機上裝 一個 phpmyadmin。我假設你知道你的 DB 的設定,所以你知道如何修改 phpmyadmin 的設定檔案,讓 phpmyadmin 可以運作! 2. 修改 /libraries/select_lang.lib.pgp 中的 程式碼: 'utf-8' => 'utf8', 改為 程式碼: 'utf-8' => 'latine1', 4. 這時你會看到會出的檔案都是正確的中文字了。 Mark 在我爬了許久的文後這篇終於出現了! 雖然是很久以前寫的!我還是要感動的說感謝Mark!! T_T 我終於看得懂我資料表裡面的東西了!謝謝!! |