【问题标题】:Storing emojis in SQL Server table在 SQL Server 表中存储表情符号
【发布时间】:2017-02-20 18:37:03
【问题描述】:

所以我一直在尝试使用 Laravel 将通过来自 Android 应用程序的 POST HTTP 请求收到的表情符号保存到 SQL Server 表中。 尽管特殊字符可以正常工作,但表情符号会出现以下语法错误-

SQLSTATE[HY000]:一般错误:20018 '☺' 附近的语法不正确。 [20018](严重性 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

【问题讨论】:

  • 这似乎是 Laravel 的问题。我在 SSMS 中使用这些字符没有任何问题。
  • @NavinNagpal 文本列的数据类型是什么?
  • @Sebastian - 遗憾的是使用 SQL Server 并且没有 utf8mb4 之类的东西
  • @Sebastian utf8mb4 用于 mysql

标签: android sql-server laravel emoji


【解决方案1】:

经过大量的试验和错误,终于开始使用 base64 编码/解码。似乎不是理想的解决方案。我猜这个问题是由于 Laravel 和 MSSQL(或使用的配置)之间的一些问题造成的。 希望它对某人有帮助。 也非常欢迎任何其他更好的解决方案!

【讨论】:

    猜你喜欢
    • 2017-05-05
    • 2016-02-29
    • 1970-01-01
    • 2014-09-01
    • 2023-03-09
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    相关资源
    最近更新 更多