我需要在 MySQL 数据库中存储(可能很长)文本。文本可能包含特殊字符和非拉丁字母,应该可以对其执行全文搜索。MySQL 5 不能存储这样的字符(但在 MySQL 6 中可以),所以我考虑在存储文本之前对文本进行 URL 编码,并在获取文本后对其进行解码。你认为这是个好主意吗?有没有人做过类似的事情?您有替代解决方案吗?
问问题
3145 次
3 回答
1
为什么不使用 Unicode,用UTF8编码- MySQL 5 支持它
于 2009-07-15T08:57:08.987 回答
0
不是一个坏主意。
而不是(仅)在获取后解码,您还应该计划在构建搜索查询之前对任何搜索词进行 url 编码的过程。如果您的应用程序端逻辑具有通过编码/解码过程过滤所有数据的使用功能,那么您不应该有任何误用。
另外,VARBINARY 数据类型是否有可能避开这个问题?(我可以自己谷歌这部分,但已经很晚了,我很困。只是帮助头脑风暴,现在睡觉。)
于 2009-07-15T08:55:38.070 回答
0
MySQL 的 Unicode 全文搜索非常智能,可以在搜索“a”时搜索“á”和“ä”等相关字符。所以,我不会存储 URL 编码的文本,而是使用 MySQL 的选项。
于 2009-07-15T08:59:03.227 回答