2017-02-13 80 views
3

因此,我一直试图将通过POST HTTP请求从Android应用程序接收到的emojis保存到使用Laravel的SQL Server表中。 虽然特殊字符做工精细,表情符号给语法错误,如以下各项在SQL Server表中存储emojis

SQLSTATE[HY000]: General error: 20018 Incorrect syntax near '☺'. [20018] (severity 15) [(null)] (SQL: UPDATE [dbo].[table] SET [text] = N'☺' WHERE [id] = 63060)

更新查询在laravel如下 -

\DB::statement("UPDATE [dbo].[table] SET [text] = N'".$data['text']."' WHERE [id] = ".$facebook_post->id); 

任何帮助将非常感激。使用SQL Server 2008和Laravel 5.1以及适当的排序规则

+1

这似乎是Laravel的问题。我在SSMS中使用这些字符没有问题。 – iamdave

+1

我认为这可能有所帮助:https://laracasts.com/discuss/channels/general-discussion/working-with-unicode-emoji-from-ios – Sebastian

+0

@NavinNagpal什么是文本列的数据类型? –

回答

0

经过大量的试验和错误,终于通过使用base64编码/解码得到了工作。似乎不是理想的解决方案。我猜这个问题是由于Laravel和MSSQL(或使用的配置)之间的问题。希望对某人有帮助。 还有其他更好的解决方案真的很受欢迎!