У меня есть уникальная проблема с многобайтовыми символьными строками, и мне нужно иметь возможность перетасовывать с некоторой степенью случайности длинную многобайтовую строку в кодировке UTF-8 в PHP без потери, потери или повторения каких-либо символов.
В руководстве по PHP в разделе str_shuffle есть многобайтовая функция (первая отправленная пользователем), которая не работает: если я использую строку, например, со всеми японскими хираганой и катаканой длиной строки (например) 120 символов, я am возвращает строку из 119 или 118 символов. Иногда я видел повторяющиеся символы, даже если в исходной строке их нет. Так что это не функционально.
Чтобы сделать это более сложным, мне также нужно включить, если возможно, японские символы новой строки UTF-8, переводы строк и знаки препинания.
Может ли кто-нибудь, у кого есть опыт работы с несколькими языками со строками UTF-8 mb, помочь? Есть ли в PHP встроенные функции для этого? str_shuffle - это ТОЧНО то, что я хочу. Мне просто нужно, чтобы он также работал с многобайтовыми символами.
Большое спасибо!