2016-04-12 18 views
0

私はMysqlでMojoliciousを使用しています。データベースへの接続がsimple次のとおりです。 @記号をパスワードに使用されている場合mojo :: mysql password with @

url => Mojo::MySQL5->new(
    'mysql://user:[email protected]:3306/my_database') 

問題が発生します。パスワードが "one @ here"の場合、接続文字列は次のようになります

url => Mojo::MySQL5->new(
    'mysql://user:[email protected]@127.0.0.1:3306/my_database') 

最初の@は間違っています。私は幸運とエスケープ(1つ\どこに)しようとした。 ユーザーが@を使ってパスワードを選択するのを防ぐことはできません。

答えて

2

私はこの解決策を見つけたので、同じ問題を抱えている人に役立つことを願っています。

@文字は、パスワード文字列に%40とエンコードする必要があります。それでおしまい。 したがって、上記のコードは次のようになります。

url => Mojo::MySQL5->new('mysql://user:one%[email protected]:3306/my_database')