2016-02-25 93 views
0

在列上使用substring_index后,我的数据更改或损坏波斯语中的非英文文本。我也检查了排序和字符集,它是UTF-8。MYSQL:使用SUBSTRING_INDEX后,我的数据更改/损坏(rtl语言)

如果我使用英语,它就像一个魅力,但在rtl语言它不起作用。这里是substring前我的记录:

select group_id , rows from concat 

before

这里是我得到substring_index后:

select group_id , SUBSTRING_INDEX(rows, ',', 1) as name from concat 

after

它显示了 “A + 3”,但
它应该显示“فثس”。

任何人都知道解决方案吗?

+0

也许我正在看东西,但确定它是逗号吗?将它从数据直接复制到SUBSTRING_INDEX分隔符中进行测试。 – Mihai

+0

@Mhaihai,是的,这个字段是用mysql“group_concat”函数创建的。 – Arash

+0

'SHOW VARIABLES like'char%';' –

回答

0

其实我想通了;问题出在使用substring_index后,字段类型更改为导致问题的“MEDIUMBLOB”。 所以我做了转换,现在它的工作。

select group_id , CONVERT(SUBSTRING_INDEX(rows, ',', 1), CHAR(1000)) as name from concat