Задача:
Скопировать в буфер текст с юникод символами, смайликами, емоджи и т.п.
1. Редактор DevelStudio не поддерживает Юникод вообще никак, поэтому нельзся вставить что-то типа
clipboard_setText("📖📖📖📖📖");
2. Копировать в буфер из файла делаем так:
$a = file_get_contents("c:\\tmp\\debug.txt");
clipboard_setText($a);
alert($a);
file_put_contents("c:\\tmp\\debug_.txt",$a);
в результате этого
в буфере мусор, а в файле оказывается все же нормальный юникод:
т.е. если происходит работа с текстом без взаимодействия движка SoulEngine, голыми PHP командами, то все проходит более менее.
Однако нам необходимо скопировать в буфер юникод, и получается что clipboard_setText нам не подходит. Необходимо найти костыль.
С помощью команды
echo $a | clip
В буфере оказывается другой мусор, необходимо судя по всему установить кодировку для консоли.. неужели в Windows 10 консоль все еще не в Unicode.. ну ок..
И вуаля
chcp 65001
echo $a | clip
Данный код корректно копирует в буфер Юникод.
Давайте возьмем пример по сложнее.
Что делать если нам необходимо вытащить данные из chromium, там-то уж точно сплошной Юникод и иного быть не может.
Подохреваю что нам нельзя использовать SoulEngine вообще никак, но доступ к Хромаку лежит через него.
К сожалению достать исходник без порчи пока не удалось.