我自己的解决方案,
shell
mysql> alter database rails_db character set utf8;
修改后问题就解决了 :)不过网上还有一些其它方法: 如修改 /etc/my.cnf [mysqld]datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock default-character-set=utf8
错误应该是由于我的 db/seeds.rb 中从文件读入的一些汉字到数据库中造成的
微信端使用 oauth 也能对已经关注的用户实现无缝衔接
赞一个
最近在用 Tower (https://tower.im), 如果在它们网站通过关注微信号(不是用户授权)实现账户绑定后,在他们公众号里就可以直接登录网站用户界面了(也没用任何授权提示),所以怀疑它们在整个过程中没有用 auth 机制 (有没有 Tower 的开发人员可以解释一下呢?)。 是不是没有开通 300 块的高级接口认证,就完全没有可能通过链接跳转 (VIEW) 实现微信端用户信息与网站用户的关联 (但是 tower 在微信移动客户端无缝对接网站用户又是如何实现的呢)?
自己尝试了一下,虽然后台在用户点击后可以看到用户 openid, 但是没有办法让跳转的 URL 也知道这个 openid 信息。
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[VIEW]]></Event>
<EventKey><![CDATA[www.qq.com]]></EventKey>
</xml>
另外,这个帖子里也涉及到了 local 外网映射的解决方案 https://ruby-china.org/topics/25410
#9 楼 @neverlandxy_naix 另外一个问题,通过扫描微信号二维码实现微信登陆(而非 Oauth), 那么已经关注公众号的用户如何在手机微信客户端直接登陆网站账户呢(貌似 fir.im 不需要这个功能)?
#9 楼 @neverlandxy_naix 体验了一下 fir.im , 不清楚为什么微信登陆后需要修改密码,这个密码在什么地方用到了吗(只看到邮箱登陆需要密码)?
#9 楼 @neverlandxy_naix 多谢,我研究一下
#6 楼 @liguangsong 多谢,我尝试一下这个方法
#6 楼 @michael0015 是的,打算用 openid
这篇文章描述了如何将 devise email 换成 username http://alexvpopov.github.io/blog/2013/10/31/allow-users-to-authenticate-with-username-only-using-devise-activeadmin-rails-4-and-ruby-2/ ,或许可以按照这个方式把 email 换成 微信用户 ID