对于为OAuth使用而创建的MySQL表,使用latin1而不是utf8有什么影响?
|
我正在共享服务器上设置OAuth支持。我要安装的服务器端PHP OAuth库是以下一个:
http://code.google.com/p/oauth-php/downloads/list
我正在遵循此处的安装说明:
http://code.google.com/p/oauth-php/wiki/ConsumerHowTo
在注释中,有一个技巧可以使用在安装包中找到的SQL脚本为您设置表和数据库。当我尝试通过phpMyAdmin中的Import(SQL)功能执行脚本时,在其中一张表上出现了“ Key Too Long \”错误。换句话说,我遇到了使用MySQL / InnoDB表时发现的最大密钥长度限制。
为了解决此问题,我将\“ charset = utf8 \”的所有实例替换为\“ charset = latin1 \”,因为utf8每个字符需要3个字节,而latin1每个字符需要1个字节。该脚本执行得很好,并且所有表均已正确创建。
据我所知,表中使用的所有字段都不需要支持多字节国际字符。我看到出现问题的唯一方法是,如果我访问的OAuth连接服务之一在其使用者密钥或秘密中使用国际字符,并且到目前为止我还没有遇到这种情况。
谁能告诉我这种解决方法是否会在任何时候在后台咬我,可能在哪里?同样,如果有人有更好的解决方案来解决“密钥过长”问题,而又不牺牲我想知道的utf8字符集的使用。
没有找到相关结果
已邀请:
1 个回复
俺呵誓放胳