我正在使用带有Laravel 5.4项目的SQL Server,但当我使用Laravel\Socialite
时,它会在我的处理程序中返回一个错误。
SQLSTATE[HY000]: General error: 20018 Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. [20018] (severity 16) [(null)] (SQL: select top 1 * from [social_logins] where [social_id] = 109095424026454018110 and [provider] = google)
Google / StackOverflow上的一些答案说我必须将tds version
更改为8.0
和client charset
,但我的数据库位于Amazon Web Services上的RDS中,无法更改(我noob)。
答案 0 :(得分:0)
问题是在Laravel方式中使用select *。
$userRes = User::where('email', '=', $user->email)->first();
所以我添加了select('column1','column1'),就像这样
$userRes = User::select('id','email')->where('email', '=', $user->email)->first();
然后一切都运转良好。