我需要在MySQL数据库中存储(可能很长的)文本。文本可能包含特殊字符和非拉丁字母,并且应该可以对其进行全文搜索。MySQL 5无法存储此类字符(但在MySQL 6中将有可能),因此我考虑在存储文本之前对其进行URL编码,并在获取后解码。
你认为这是一个好主意吗?有人做过类似的事情吗?你有其他解决方案吗?
为什么不使用Unicode,采用UTF8编码 - MySQL 5支持它
不错的想法。
除了在获取后仅解码之外,您还应该规划一个过程,在构建搜索查询之前对任何搜索词进行URL编码。 如果您的应用端逻辑具有通过编码/解码过程过滤所有数据的使用函数,则不应该出现任何误用。
此外,VARBINARY数据类型是否可以避免问题?(我可以自己在Google上搜索这部分,但现在很晚了,我很困。只是帮忙头脑风暴,睡觉时间到了。)