jkeks блог


DevelStudio .. проблема кодировок

6.8.2018 - 36 просмотров ;)




Задача:
Скопировать в буфер текст с юникод символами, смайликами, емоджи и т.п.
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 вообще никак, но доступ к Хромаку лежит через него.

К сожалению достать исходник без порчи пока не удалось.





Видеочат рулетка
jAntivirus Рейтинг@Mail.ru