2014-04-23 107 views
0

這應該是西班牙語單詞。我以txt格式從dictonary中導入單詞。只有西班牙人才能像這樣翻譯。事情是我不能搜索一個詞。它沒有找到任何東西。 如何將mysql中的這些轉換爲人類可讀和可搜索的stringMYSQL translate escape HEX喜歡的字符串到人類可讀

CREATE TABLE IF NOT EXISTS `es_words` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `word` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, 
    `user` int(11) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=660099 ; 

INSERT INTO `es_words` (`id`, `word`, `user`) VALUES 
(1, 'ÿþa\0\r\0', 0), 
(2, '\0a\0-\0\r\0', 0), 
(3, '\0a\0a\0r\0ó\0n\0i\0c\0o\0\r\0', 0), 
(4, '\0a\0a\0r\0o\0n\0i\0t\0a\0\r\0', 0), 
(5, '\0a\0b\0a\0\r\0', 0), 
(6, '\0a\0b\0a\0b\0a\0\r\0', 0), 
(7, '\0a\0b\0a\0b\0i\0l\0l\0a\0r\0s\0e\0\r\0', 0), 
(8, '\0a\0b\0a\0b\0o\0l\0\r\0', 0), 
(9, '\0a\0b\0a\0c\0á\0\r\0', 0), 
(10, '\0a\0b\0a\0c\0a\0l\0\r\0', 0), 
etc 

回答

1

我不知道很多西班牙語單詞,但是看在你的榜樣字符串它似乎這樣的詞語具有在之間的隨機插入看似空字符(\ 0)和一些回車(\ r)每封信。最好清理生成插入查詢的任何內容,而不是在我認爲的事實之後嘗試清理數據庫。

這就是說這個查詢將允許您搜索和顯示人類可讀的值。

SELECT * 
FROM (SELECT REPLACE(word, '\0', '') as fixedword from es_words) as t 
WHERE fixedword LIKE '%aaronita%' 

你也可以使用上面的查詢結果來清潔在表中的值,但我想我會專注於試圖找出其中的「\ 0」和「\ r」在來了插入語句。