mysql左检索前x个字符和json_encode utf8

时间:2015-12-09 16:30:54

标签: php mysql json special-characters

我对此查询有疑问:

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个字符。 感谢。

1 个答案:

答案 0 :(得分:0)

我设法通过设置

解决了这个问题

mysqli_set_charset($ SQL,' utf8mb4&#39);

在我最初的mysqli_connect

之后

我必须将我的表Collat​​ion更改为utf8mb4_general_ci。 任何utf8工作但这个新的utf8mb4似乎是未来最常用的Collat​​ion,我不需要排序,因为我只会得到一个名字:)

由于