2013-06-04 46 views
3

爲什麼頁面標題以二進制格式存儲,而不是MediaWiki中的字符格式? http://www.mediawiki.org/wiki/Manual:Page_table#page_title以二進制格式存儲字符串在MySQL中

SELECT page_id, BINARY CONVERT(page_title USING utf8) as page_title ...

它有什麼優勢和綜合效益?

+0

@JoachimIsaksson「適用於任何字符編碼」?存儲char有什麼問題嗎? – PHPst

+0

啊,在你的編輯中,它表明它編碼爲UTF8時,無論如何編碼爲二進制...所以編碼的事情可能不是一個原因。 –

+0

否則,字符並不總是相同的,它的編碼取決於[你使用的字符集編碼](http://dev.mysql.com/doc/refman/5.0/en/charset-connection。 HTML)。 UTF8幾乎總是一個不錯的選擇,因爲它擁有大部分字符。 –

回答

4

由於MySQL的utf8排序規則不支持Basic Multilingual Planeutf8mb4之外的字符,它最近纔在MySQL 5.5.3中添加。而在MySQL的實現中,「不支持」意味着「損壞的文本」。

+0

謝謝。你可以添加一個鏈接來顯示這是唯一的原因嗎? – PHPst

相關問題