|
|
|
| Здравствуйте, Уважаемые. Честно юзал поиск, но решения не нашел, может и видел решение, но не понял, что это решение мне подходит. Убил уже 6 часов, а решения не нашёл, помогите, люди добрые
Значит так:
Методами Api с чужого сайта получаю текст в кодировке UTF-8 (проверял), парсить в другой кодировке не дают. В тексте содержатся коды смайликов (например 1⃣ или ✅).
Конвертирую так:
mb_convert_encoding($post_text,"windows-1251","UTF-8");
|
Русскоязычный текст после конвертации отображается правильно, но вот эти "спецсимволы"(смайлики) отображаются как вопросительный знак. Приведённые мною выше символы отобразятся как 1? и ?. Как я понял, тут что-то с мультибитностью кодировки связано. Подскажите как мне при перекодировке сохранить целостность текста включая коды смайлов? Спасибо. | |
|
|
|
|
|
|
|
для: blackcement
(16.05.2017 в 02:23)
| | Какой смысл конвертировать в СР1251 то, чего нет в ней?
Не поддерживаемое кодировкой и будет отражено как ⃣ или ✅, и это HTML-ENTITIES, а не многобайтные строки, при этом что будет видно зависит и от браузера. Пора забывать о windows-1251 и не страдать головной болью. | |
|
|
|
|
|
|
|
для: confirm
(16.05.2017 в 10:48)
| | Как это какой смысл? Сайт у меня на windows-1251, с чужого сервера я получаю русский текст в UTF-8. Чтобы его вывести на моём сайте, мне необходимо его преобразовать в windows-1251, разве нет?
А в кодировке СР1251 нет символа & или символа #? Какую вы рекомендуете использовать кодировку на сайте? | |
|
|
|
|
|
|
|
для: blackcement
(16.05.2017 в 13:12)
| | UTF-8 и использовать | |
|
|
|
|
|
|
|
для: blackcement
(16.05.2017 в 13:12)
| | Какой смысл? А какой смысл парится с &#xxxx пытаясь конвертировать их, если эти символы не входят в набор 1251? Не хотите UTF использовать, значит довольствуйтесь html-представлением данных символов с надеждой на то, что браузер их отобразит. В СР1251 входят символы и & и #, не в них проблема.
Слишком мало в настоящее время таблицы символов обеспечивающей кодировкой 1251, чтобы делать не нее ставку. Впрочем вам решать, не хотите, партесь и не пытайтесь конвертировать то, чего не существует. | |
|
|
|
|
|
|
|
для: confirm
(16.05.2017 в 14:10)
| | Я бы довольствовался, если бы русский текст конвертировался и символы не входящие в кодировку 1251 конвертировались в сущность(в кодировке 1251). Я бы с радостью не пытался конвертировать если бы нашёл другой способ, но у меня есть строка с русскими словами в кодировке UTF-8 вида
случайным образом! Всем удачи!рџЋЃ (это часть строки)
в этой строке есть текст &#xxxx;, но только в кодировке UTF-8. Хочу получить из этой строки типа
Как прекрасен этот мир&#xxxx;, посмотри
А не
Как прекрасен этот мир?, посмотри
Как это сделать? | |
|
|
|
|
|
|
|
для: blackcement
(16.05.2017 в 14:43)
| | HTML представлениям по барабану какая кодировка, они в любой остаются &#xxxx;.
Никак нельзя конвертировать ее, пробуйте:
<?
echo iconv('utf-8', 'windows-1251', '✅');
|
И это не смайлик, это символ "выбрано/отмечено". Выведите на страницу под разными браузерами диапазон html-сущностей, поймете. | |
|
|
|
|
|
|
|
для: confirm
(16.05.2017 в 14:56)
| | Спасибо, ответ "Никак" меня вполне устроил. Перевожу сайт на кодировку UTF-8. | |
|
|
|
|
|
|
|
для: confirm
(16.05.2017 в 10:48)
| | Не то чтобы пора, скорее мало кто уже помнит про СР1251 )) | |
|
|
|
|
|
|
|
для: KPETuH
(16.05.2017 в 13:45)
| | Если я правильно понимаю, то СР1251 и windows-1251 это одно и тоже. Сайт Вконтакте использует кодировку windows-1251, а разработчики там далеко не дураки. | |
|
|
|