mysql - mojo::mysql 密码带@

标签 mysql mojolicious

我正在使用 Mojolicious 和 Mysql。连接到数据库是simple :

url => Mojo::MySQL5->new(
  'mysql://user:password@127.0.0.1:3306/my_database')

密码中使用@符号时会出现问题。假设密码是“one@here”,连接字符串将类似于

url => Mojo::MySQL5->new(
  'mysql://user:one@here@127.0.0.1:3306/my_database')

第一个@会被误解。我尝试逃跑(one\@here),但没有成功。 任何想法?我无法阻止用户选择带有“@”的密码。

最佳答案

几个小时后,我找到了这个解决方案,希望它可以帮助遇到同样问题的人。

密码字符串中的@字符必须编码为%40。就是这样。 所以上面的代码将是:

url => Mojo::MySQL5->new('mysql://user:one%40here@127.0.0.1:3306/my_database')

关于mysql - mojo::mysql 密码带@,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36579209/

相关文章:

php - 如何在不删除数据库本身的情况下删除数据库中的所有表?

PHP 和 mysql 的 select 出现奇怪的错误

mysql - 如何查看表或列的所有外键?

mysql - 连接到 mysql 后如何访问 ejabberd web 控制台?

perl - 请求Mojolicious中的Useragent

perl - 当方法是 CODEREF 时,继承如何工作?

perl - 如何确定未定义 $VERSION 的已安装 Perl 模块的版本?

html - 如何从 Controller 返回文件以供查看?

php - 为什么使用 "gethostbyaddr"将 IP 地址转换为主机名却不起作用?

perl - 使用 JSON-RPC 协议(protocol)的 Perl Client to API 使用哪些模块?