2
我在一張表中列有詳細信息。該欄以HTML
格式存儲電子郵件內容。列數據類型是blob。我的搜索和查找任何電子郵件內容的要求包含非英文字符,即外語。如何在使用PHP的內容中查找外來字符?
該表有51000條記錄。在51000條記錄中,我需要過濾只有非英文字符的電子郵件。它可能是100或大於。一旦我過濾這些記錄,我將使用谷歌翻譯
我在一張表中列有詳細信息。該欄以HTML
格式存儲電子郵件內容。列數據類型是blob。我的搜索和查找任何電子郵件內容的要求包含非英文字符,即外語。如何在使用PHP的內容中查找外來字符?
該表有51000條記錄。在51000條記錄中,我需要過濾只有非英文字符的電子郵件。它可能是100或大於。一旦我過濾這些記錄,我將使用谷歌翻譯
在MySQL手動識別語言,將是這樣的:
SELECT foo
FROM bar
WHERE somecolumn REGEXP '[^\x00-\x80]+'
匹配不上在ASCII字符範圍內0-128。
也說不定:
WHERE NOT HEX(COLUMN) REGEXP '^([0-7][0-9A-F])*$';
REGEXP '[^[.NUL.]-[.DEL.]]'
REGEXP '[^ -~]'
。
您將需要調整模式以滿足您的需求。
圖還顯示了一種新方法: How can I find non-ASCII characters in MySQL?
WHERE columnToCheck <> CONVERT(columnToCheck USING ASCII)
採取白名單的做法。找到包含可接受字符列表以外的內容。試圖列舉所有你認爲是「外國」的將是令人生畏的。可以在你的SQL中使用PCRE來獲取它。 – ficuscr 2013-02-20 18:28:10
爲此,請使用正則表達式來查找與不可接受字符相匹配的值,並且必須對該正則表達式匹配的任何電子郵件執行操作。 – DiMono 2013-02-20 18:30:35
正在擴大到你看到的那樣:很高興我們同意。 – ficuscr 2013-02-20 18:31:16