Laravel / MSSQL(AWS RDS)一般错误:20018 Unicode数据

时间:2017-09-26 23:10:30

标签: php sql-server amazon-web-services unicode rds

我正在使用带有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.0client charset,但我的数据库位于Amazon Web Services上的RDS中,无法更改(我noob)。

1 个答案:

答案 0 :(得分:0)

问题是在Laravel方式中使用select *。

$userRes = User::where('email', '=', $user->email)->first();

所以我添加了select('column1','column1'),就像这样

$userRes = User::select('id','email')->where('email', '=', $user->email)->first();

然后一切都运转良好。