我已经为此奋斗了超过 24 小时(包括现在)。我已经设置了我的服务器来设置用户帐户并通过电子邮件向他们发送验证链接。一切正常,但我遇到了两个字符串变量 hash 和 token 的问题,其值来自 mySql 数据库。每次生成电子邮件时,这些变量都会解析它们的数据,前三个字符会被弄乱:
http://verify.myserver.com/objects/1.8.12.7.10.1.9/verify-email.php?mm_function=submit&hashü41faa912dd9451a8d397fc9386ca1c69&mm_tokenü2rnjrcbhn3qegtu46np03p5pg6aczbtrs51782fkuwq2c8w9m80enutwruydwewca&mm_timezone=2&mm_charset=utf-8
链接应该是:
http://verify.myserver.com/objects/1.8.12.7.10.1.9/verify-email.php?mm_function=submit&hash=fc41faa912dd9451a8d397fc9386ca1c69&mm_token=fc22rnjrcbhn3qegtu46np03p5pg6aczbtrs51782fkuwq2c8w9m80enutwruydwewca&mm_timezone=2&mm_charset=utf-8
我尝试混合和匹配代码无济于事。目前,我的代码如下:
$weblink = "http://verify.myserver.com/objects/1.8.12.7.10.1.9/verify-email.php?";
$weblink . "mm_function=submit&hash=" . $hash . "&mm_token=" . $token . "&mm_timezone=" . $timezone . "&mm_charset=utf-8";
奇怪的是,如果我只是将 $hash 和 $token 作为电子邮件的一部分,独立于链接,它们都可以正常显示。
我正在使用运行 InnoDB 引擎的 mySql,DB Collation 是 latin7_general_ci。
谢谢。