mysql 左检索前 x 个字符和 json_encode utf8
mysql left retrieve first x characters and json_encode utf8
我对这个查询有疑问:
Select LEFT(name,3)
from table
where id = '1'
查询没问题,但是当名称中有一些特殊字符被剪切时我不能 json_encode() 它,所以我的问题是如何用 [=29= 剪切名称] 查询所以我得到整个特殊字符所以我可以 json_encode 它。
在 json_last_error() 上我得到“5”,即 JSON_ERROR_UTF8 因为字符被剪切并且不再是 utf8...
我的名字字段是 varchar(255) latin1_swedish_ci,我要删除的名字是这样的:“şÂposâş”
我可以对这个查询使用 LEFT()
还是必须使用 php 才能只显示前 3 个字符。
谢谢
我通过设置
设法解决了它
mysqli_set_charset($sql,'utf8mb4');
在我最初 mysqli_connect
之后
我不得不将 table 排序规则更改为 utf8mb4_general_ci。
任何 utf8 都可以工作,但这个新的 utf8mb4 似乎是未来最常用的排序规则,我不需要排序,因为我只会得到一个名字:)
谢谢
我对这个查询有疑问:
Select LEFT(name,3)
from table
where id = '1'
查询没问题,但是当名称中有一些特殊字符被剪切时我不能 json_encode() 它,所以我的问题是如何用 [=29= 剪切名称] 查询所以我得到整个特殊字符所以我可以 json_encode 它。
在 json_last_error() 上我得到“5”,即 JSON_ERROR_UTF8 因为字符被剪切并且不再是 utf8...
我的名字字段是 varchar(255) latin1_swedish_ci,我要删除的名字是这样的:“şÂposâş”
我可以对这个查询使用 LEFT()
还是必须使用 php 才能只显示前 3 个字符。
谢谢
我通过设置
设法解决了它mysqli_set_charset($sql,'utf8mb4');
在我最初 mysqli_connect
之后我不得不将 table 排序规则更改为 utf8mb4_general_ci。 任何 utf8 都可以工作,但这个新的 utf8mb4 似乎是未来最常用的排序规则,我不需要排序,因为我只会得到一个名字:)
谢谢