【问题标题】:mysql left retrieve first x characters and json_encode utf8mysql左检索前x个字符和json_encode utf8
【发布时间】:2015-12-09 16:30:53
【问题描述】:

我对这个查询有疑问:

Select LEFT(name,3) 
from table
where id = '1'

查询没问题,但是当名称中有一些特殊字符被截断时,我无法 json_encode() 它,所以我的问题是如何使用 mysql 查询截断名称,这样我才能得到整个特殊字符,所以我可以json_encode吗。

在 json_last_error() 上,我得到“5”,即 JSON_ERROR_UTF8,因为该字符已被剪切,不再是 utf8...

我的姓名字段是 varchar(255) latin1_swedish_ci,我想删减的名字是:“șÂȚâț”

我可以使用LEFT() 进行此查询还是必须使用 php 只显示前 3 个字符。 谢谢。

【问题讨论】:

    标签: php mysql json special-characters


    【解决方案1】:

    我设法通过设置解决了它

    mysqli_set_charset($sql,'utf8mb4');

    在我最初的 mysqli_connect 之后

    我不得不将我的表排序规则更改为 utf8mb4_general_ci。 任何 utf8 都有效,但这个新的 utf8mb4 似乎是未来最常用的排序规则,我不需要排序,因为我只会得到一个名字:)

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-06
      • 2011-06-14
      • 1970-01-01
      • 2010-12-01
      • 2020-07-29
      • 2011-07-12
      相关资源
      最近更新 更多