Знак вопроса в ромбе как исправить

Способ длинноватый, но простой и приемлемый для «почтичайников».
В тексте имеются символы «вопрос в черном ромбе» �. Удалить можно только вручную, по одному. Инструменты «найти» и «заменить» не помогают, они не видят этот символ. Применить макрос или код – не для всех. Вообще этот символ означает, что в исходном тексте были символы, отсутствующие в тексте с текущей кодировкой.
Создаем новый документ ворд, копируем в него символы, можно вместе с небольшим фрагментом текста, так, чтобы в будущем по положению в тексте можно было найти символ, даже если все будет заменено на абракодабру. Удобно повторить несколько символов в начале строки.
Сохраняем текст.
В настройках ворд на вкладке файл-параметры-дополнительно-группа «общие» (внизу) ставим птичку «подтверждать преобразование формата файла при открытии»
Сохраняем текст в txt. При нажатии «сохранить» появится окно «преобразование файла». По умолчанию стоит кодировка виндовс. Справа под окном кодировок будет предупреждение о том, что «текст, выделенный красным невозможно сохранить в выбранной кодировке». Ниже в окне образца, пролистав его увидите красные символы. Слева вверху три варианта кодировки. Ставим точку «Другая». Активируется окно кодировок. Находим кодировку, при которой символы в образце становятся некрасными, но текст читается. Мне помогла кодировка «Китайская упрощенная (GB 18030)». Юникод не помог, т.к. в будущем при замене инструмент «заменить» не увидел некоторых символов этой кодировки. Т.е. в китайской кодировке символы, заменившие � ромб совпали с виндовс (я так понимаю ANSI), а в Юникоде � ромб заменился на символы, часть которых отсутствует в кодировке виндовс. Жмем ОК.
Закрыть.
Открыть с помощью Ворд. При открытии в запросе выбрать обычный текст. Откроется абракодабра.
В абракодабре найти символ (скорее всего группу символов), соответствующие символу � ромб.
Инструментом «заменить» заменить найденные символы на какие-нибудь другие (потом моно будет просто менять).
Сохранить.
Закрыить.
Открыть с помощью ворд, выбрав опять кодировку «Китайская упрощенная (GB 18030)».
Сохранить как docx.
Может можно и проще. Смысл понятен. Проблема в разных символах в разных кодировках. Еще проще написать какой-нибудь код, но это не для массового пользователя.

Содержание

  1. Исправление проблемы с отображением русских букв в Windows 10
  2. Исправляем отображение русских букв в Windows 10
  3. Способ 1: Изменение языка системы
  4. Способ 2: Редактирование кодовой страницы
  5. Как в Windows 10 убрать кракозябры вместо русских букв, 2 способа исправления
  6. Причины отображения иероглифов вместо русских букв
  7. Методы исправления проблемы
  8. Изменение языка системы
  9. Путем подмены файла кодовой страницы на c_1251.nls
  10. Кракозябры и иероглифы вместо букв
  11. Пример проблемы
  12. Картинка – пример проблемы с текстом
  13. Как решить проблему
  14. Редактирование реестра
  15. Как исправить отображение кириллицы или кракозябры в Windows 10
  16. Исправление отображения кириллицы с помощью настроек языка и региональных стандартов Windows 10
  17. Как исправить иероглифы Windows 10 путем изменения кодовых страниц
  18. С помощью редактора реестра
  19. Путем подмена файла кодовой страницы на c_1251.nls
  20. После смены языка (Юникод) win 10
  21. Ответы (22) 
  22. Видео

Исправление проблемы с отображением русских букв в Windows 10

Вместо текста ромбики с вопросом windows 10

В большинстве случаев проблемы с отображением кириллицы во всей операционной системе Windows 10 или в отдельных программах появляются сразу после ее установки на компьютер. Связана неполадка с неправильно заданными параметрами либо с некорректной работой кодовой страницы. Давайте приступим к рассмотрению двух действенных методов для исправления возникшей ситуации.

Исправляем отображение русских букв в Windows 10

Существует два способа решения рассматриваемой проблемы. Связаны они с редактированием настроек системы или определенных файлов. Они отличаются по сложности и эффективности, поэтому мы начнем с легкого. Если первый вариант не принесет никакого результата, переходите ко второму и внимательно следуйте описанным там инструкциям.

Способ 1: Изменение языка системы

В первую очередь хотелось бы отметить такую настройку как «Региональные стандарты». В зависимости от его состояния и производится дальнейшее отображение текста во многих системных и сторонних программах. Редактировать его под русский язык можно следующим образом:

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Дождитесь перезапуска компьютера и проверьте, получилось ли исправить проблему с русскими буквами. Если нет, переходите к следующему, более сложному варианту решения этой задачи.

Способ 2: Редактирование кодовой страницы

Кодовые страницы выполняют функцию сопоставления символов с байтами. Существует множество разновидностей таких таблиц, каждая из которых работает с определенным языком. Часто причиной появления кракозябров является именно неправильно выбранная страница. Далее мы расскажем, как править значения в редакторе реестра.

Перед выполнением этого метода настоятельно рекомендуем создать точку восстановления, она поможет вернуть конфигурацию до внесения ваших изменений, если после них что-то пойдет не так. Детальное руководство по данной теме вы найдете в другом нашем материале по ссылке ниже.

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Если же значение и так уже является 1251, следует провести немного другие действия:

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

После завершения работы с редактором реестра обязательно перезагрузите ПК, чтобы все корректировки вступили в силу.

Подмена кодовой страницы

Некоторые пользователи не хотят править реестр по определенным причинам либо же считают эту задачу слишком сложной. Альтернативным вариантом изменения кодовой страницы является ее ручная подмена. Производится она буквально в несколько действий:

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Вместо текста ромбики с вопросом windows 10

Вот таким нехитрым образом происходит подмена кодовых страниц. Осталось только перезапустить ПК и убедиться в том, что метод оказался эффективным.

Как видите, исправлению ошибки с отображением русского текста в операционной системе Windows 10 способствуют два достаточно легких метода. Выше вы были ознакомлены с каждым. Надеемся, предоставленное нами руководство помогло справиться с этой неполадкой.

Источник

Как в Windows 10 убрать кракозябры вместо русских букв, 2 способа исправления

Вместо текста ромбики с вопросом windows 10

Кракозябры, или иероглифы, вместо русских букв в Windows 10 появляются зачастую после установки операционной системы. Непонятные символы встречаются в документах. Кириллица искаженно транслируется, если пользователь воспользовался не совсем лицензированной или английской версией Виндовса. Это самые распространенные причины неполадки, которые исправит любой человек.

Причины отображения иероглифов вместо русских букв

Обычно проблемы с кодировкой встречаются не во всех текстовых файлах и установщиках программного обеспечения сразу. Например, при открытии инсталлера ПО его название корректно, а вот содержимое неправильно отображается. Или при написании текста в «блокноте» появляются вопросы и кракозябры.

К причинам некорректного отображения кириллицы относят:

Пользователи спешат исправить неполадки простой переустановкой ОС. Но это не всегда помогает. Особенно, если проблема заключается не в Виндовсе.

Частый вопрос от пользователей – почему в ОС Windows 10 в известной программе «Налогоплательщик ЮЛ» отображаются иероглифы и кракозябры. Данная проблема решается просто: в шрифтовую систему устанавливают MS Sans Serif.

Методы исправления проблемы

Есть 2 метода, которые помогают убрать каракули в текстовых файлах и программах Виндовс 10. Первый вариант – смена языка системы. Он простой. Вариант посложнее — подмена файла кодовой страницы.

Изменение языка системы

За отображение текста в программном обеспечении системы и сторонних приложений отвечает настройка в Панели управления с названием «Региональные стандарты». Убрать каракули со знаками вопроса можно через редактирование настроек:

После перезагрузки пользователь проверяет, подействовал метод исправления ошибки или нет. Если же операция не принесла успеха, пробуют следующий способ.

Путем подмены файла кодовой страницы на c_1251.nls

Данный метод практически всегда помогает убрать непонятные символы и восстановить отображение кириллицы. Для этого на пути «C:WindowsSystem32» подменяют файл кодовой страницы. Способ эффективен, если пользователь уверен, что система использует кодовую страницу со значением 1252. Алгоритм действий:

Восстановить отображение кириллицы на Виндовс 10 легко и просто. Главное – знать причину появления проблемы. Не рекомендуется просто переустанавливать Windows. Скорее всего, данный метод не поможет.

Источник

Кракозябры и иероглифы вместо букв

Одна из самых частых проблем с текстом на компьютере на Windows 10 – на экране отображаются знаки вопроса, иероглифы, или как их еще иногда называют, кракозябры. Не пугайтесь, всё поправимо, однако, если у вас сбилась раскладка, полетел шрифт или произошла другая проблема с буками, то вам нужно изучить и проследовать данной инструкции.

Пример проблемы

Порой даже сложно сказать, на каком языке отображается текст. Это и не русский, и не английский и никакой другой язык. Поэтому люди и называют такие письмена – иероглифы, кракозябры, закорючки и какие только названия письменам не придумывают. Но проще посмотреть на пример проблемы:

Вместо текста ромбики с вопросом windows 10

Картинка – пример проблемы с текстом

У вас может быть похожее, точно такое же, или совсем иное. Как бы то ни было, если вы видите, что вместо того, что предполагалось быть на странице, у вас другие данные, то вы можете смело воспользоваться данной инструкцией.

Как правило, проблема встречается не во всех приложениях, а лишь в частных случаях. Самые частые «места», где приключаются проблемы:

Это лишь самые популярные причины, есть и другие. Например, даже во всем Windows 10 может слететь кодировка, поэтому не стоит переживать, если конкретно ваш случай не описан в примерах, решение, скорее всего, будет описано ниже.

Как решить проблему

Важно понимать, что как правило проблемы возникают именно с русским языком. Т.е. с английским и другими языками на латинице проблем не возникает. Дело в том, что русский язык – это кириллица. Поэтому решать проблему будем с кириллицей, а не столько с русскими буками. Учтите, что далеко не все утилиты поддерживают этот язык, и дело как раз в кодировке. Однако, если утилита официальная, популярная и современная, то любые трудности с отображением текста – это явная проблема, с которой нужно бороться.

Первым делом нужно проверить настройки компьютера. Для этого зайдите в «Панель управления». Для этого правым кликом мышки на Пуск вызовите диалоговое меню, в котором будет соответствующий пункт.

Вместо текста ромбики с вопросом windows 10

После этого откроется окно, в котором вам нужно изменить ражим «Просмотр» на «Категория», и дальше выбрать пункт «Часы, язык, регион».

Вместо текста ромбики с вопросом windows 10

Откроется новое окно, где нужно выбрать «Региональные стандарты».

Вместо текста ромбики с вопросом windows 10

Не смотрите на то, что здесь настраиваются часы и время, вам нужно перейти в раздел «Дополнительно», где вы сможете найти необходимый пункт про отображение необходимой локали отображения символов в операционной системе. Это именно то, что вам нужно.

Вместо текста ромбики с вопросом windows 10

В новом окне найдите пункт «Язык программ, не поддерживающих Юникод». На этой странице вам нужно найти пункт «Изменить язык системы».

Вместо текста ромбики с вопросом windows 10

Кликаем на пункт выше, и в новом окне выбираем вариант «Русский (Россия)».

Вместо текста ромбики с вопросом windows 10

Не пугайтесь, сразу после выбора или смены вы увидите оповещение о том, что ваш ПК будет перезагружен. Единственное, что вы можете сделать – отменить изменения, вернуться к ним позже или перезагрузить устройство прямо сейчас. Выбирайте опцию, которая более комфортна вам по душе.

После того, как ваш компьютер был перезагружен, попробуйте запустить тот софт, который ранее выдавал проблему. Скорее всего, ситуация изменится кардинальным образом. И вы увидите уже русские буквы, на крайний случай английские. Например вот так:

Вместо текста ромбики с вопросом windows 10

Это самый простой метод, пусть он таковым и не выглядит. Учтите, что система может потребовать от вас внести некоторые изменения в реестр в ручном режиме. Вы можете это сделать даже без специальных знаний в компьютерах. Поэтому попробуйте проделать следующие шаги, описанные ниже.

Редактирование реестра

Откройте любой бесплатный текстовый редактор. Подойдет даже Блокнот, а вот Word – не самый удачный выбор, так как этот редактор зачастую меняет структуру кода, и в результате ниже описанный метод либо вовсе не будет работать, либо сработает но не так.

Windows Registry Editor Version 5.00

«Comic Sans MS,0″=»Comic Sans MS,204»

«MS Sans Serif,0″=»MS Sans Serif,204»

«Times New Roman,0″=»Times New Roman,204»

Сохраняемся. У файла может быть любое имя, важно, чтобы у него было указанное выше разрешение. Далее, после того как внутри файла оказалась приведенная выше информация, вам нужно внести изменения в реестр. Для этого используйте простую методику – кликните по файлу таким образом, как будто хотите его открыть. Но не в текстовом редакторе, а именно запустить. Для этого потребуется отменить «Программу по умолчанию» в виде редактора, если вы выбрали редактор.

ОС уточнит у вас, если вы хотите внести изменения в реестр своего компьютера. Соглашайтесь. Конечно, тем, кто переживает больше обычного, можем порекомендовать сделать резервную копию реестра. Для этого опять же не потребуется никаких специальных знаний. Можете использовать CCleaner, чтобы создать копию или резервный файл.

Надеемся, теперь кракозябры и иероглифы на Windows 10 вместо букв если и не перестанут появляться, то вы теперь хотя бы знаете, как с ними бороться. Учтите, что в некоторых случаях виноват все же разработчик утилиты, и даже если вы проделаете все, что описано выше, то все равно не придете к нужному результату. В этом случае, вам лучше скачать другой дистрибутив, возможно не на русском, а на английском. Также можете попробовать запуститься в безопасном режиме, и проверить если там ПО работает как надо. Если да, то тогда у вас есть все шансы исправить ситуацию и в нормальном обычном режиме.

Источник

Как исправить отображение кириллицы или кракозябры в Windows 10

Одна из возможных проблем, с которыми можно столкнуться после установки Windows 10 — кракозябры вместо русских букв в интерфейсе программ, а также в документах. Чаще неправильное отображение кириллицы встречается в изначально англоязычных и не совсем лицензионных версиях системы, но бывают и исключения.

В этой инструкции — о том, как исправить «кракозябры» (или иероглифы), а точнее — отображение кириллицы в Windows 10 несколькими способами. Возможно, также будет полезным: Как установить и включить русский язык интерфейса в Windows 10 (для систем на английском и других языках).

Исправление отображения кириллицы с помощью настроек языка и региональных стандартов Windows 10

Вместо текста ромбики с вопросом windows 10

Самый простой и чаще всего работающий способ убрать кракозябры и вернуть русские буквы в Windows 10 — исправить некоторые неправильные настройки в параметрах системы.

Для этого потребуется выполнить следующие шаги (примечание: привожу также названия нужных пунктов на английском, так как иногда необходимость исправить кириллицу возникает в англоязычных версиях системы без нужды менять язык интерфейса).

После перезагрузки проверьте, была ли решена проблема с отображением русских букв в интерфейсе программ и (или) документах — обычно, кракозябры бывают исправлены после этих простых действий.

Вместо текста ромбики с вопросом windows 10

Как исправить иероглифы Windows 10 путем изменения кодовых страниц

Кодовые страницы представляют собой таблицы, в которых определенным байтам сопоставляются определенные символы, а отображение кириллицы в виде иероглифов в Windows 10 связано обычно с тем, что по умолчанию задана не та кодовая страница и это можно исправить несколькими способами, которые могут быть полезны, когда требуется не изменять язык системы в параметрах.

С помощью редактора реестра

Первый способ — использовать редактор реестра. На мой взгляд, это самый щадящий для системы метод, тем не менее, рекомендую создать точку восстановления прежде чем начинать. Совет про точки восстановления относится и ко всем последующим способам в этом руководстве.

Обычно, это исправляет проблему с отображением русских букв. Вариация способа с помощью редактора реестра (но менее предпочтительная) — посмотреть на текущее значение параметра ACP (обычно — 1252 для изначально англоязычных систем), затем в том же разделе реестра найти параметр с именем 1252 и изменить его значение с c_1252.nls на c_1251.nls.

Вместо текста ромбики с вопросом windows 10

Путем подмена файла кодовой страницы на c_1251.nls

Второй, не рекомендуемый мной способ, но иногда выбираемый теми, кто считает, что правка реестра — это слишком сложно или опасно: подмена файла кодовой страницы в C: Windows System32 (предполагается, что у вас установлена западно-европейская кодовая страница — 1252, обычно это так. Посмотреть текущую кодовую страницу можно в параметре ACP в реестре, как было описано в предыдущем способе).

После перезагрузки Windows 10 кириллица должна будет отображаться не в виде иероглифов, а как обычные русские буквы.

Источник

После смены языка (Юникод) win 10

Ответы (22) 

* Попробуйте выбрать меньший номер страницы.

* Введите только числа.

* Попробуйте выбрать меньший номер страницы.

* Введите только числа.

Был ли этот ответ полезным?

К сожалению, это не помогло.

Отлично! Благодарим за отзыв.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Благодарю за оперативный ответ. Ночь и слезы застилают мне глаза. В этом причина. так я его и менял. Сейчас сменил назад на русский, и такое вот приключилось.

Видимо при смене языка системы, 10ка решила мне и язык в документах поменять.

Можно попрощаться со старыми документами?

Был ли этот ответ полезным?

К сожалению, это не помогло.

Отлично! Благодарим за отзыв.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Опишите, пожалуйста, подробнее, как именно Вы меняли язык системы. Использовались ли какие-либо программы, добавлялись ли шрифты?

Какой формат документов?

Был ли этот ответ полезным?

К сожалению, это не помогло.

Отлично! Благодарим за отзыв.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Просто поменял язык системы на японский и назад.

Параметры, регион и язык, административные языковые параметры, язык программ поддерживающих юникод.
Больше ничего не трогал и не менял.

Был ли этот ответ полезным?

К сожалению, это не помогло.

Отлично! Благодарим за отзыв.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

1 пользователь нашел этот ответ полезным

Был ли этот ответ полезным?

К сожалению, это не помогло.

Отлично! Благодарим за отзыв.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Был ли этот ответ полезным?

К сожалению, это не помогло.

Отлично! Благодарим за отзыв.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Был ли этот ответ полезным?

К сожалению, это не помогло.

Отлично! Благодарим за отзыв.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Дружище ты прикалываешься надо мной? Переустановить систему? Может еще и винамп поставить? У меня все работает нормально, кроме этих замечательных ромбовопросов вместо букв в старых документах. В новых я проверил все сохраняется нормально.

Я бы скинул скриншоты, но проблема аналогична той, на которую оратор выше дал ссылку, с тем лишь исключением, что я ничего не ставил (если только винда сама не подкачала эти библиотеки при перезагрузке, это же 10ка. ) Я просто менял язык системы. Считай два раза. С русского на японский и обратно. Как то так

Сейчас попробовал txt открыть c помощью Wordpad, так там вместо красивых ромбиков квадратики ))

Источник

Видео

Как исправить? Иероглифы и знаки вопроса вместо русских букв!Скачать

Как исправить? Иероглифы и знаки вопроса вместо русских букв!

Как исправить знаки вопроса иероглифы вместо русских букв Windows 10Скачать

Как исправить знаки вопроса иероглифы вместо русских букв Windows 10

Иероглифы вместо русских букв ! Решение в 1 минуту ! Без програм !Скачать

Иероглифы вместо русских букв ! Решение в 1 минуту ! Без програм !

Как убрать знаки вопроса вместо текста — Windows 10Скачать

Как убрать знаки вопроса вместо текста - Windows 10

Иероглифы вместо русских букв на Windows. Как исправить?Скачать

Иероглифы вместо русских букв на Windows. Как исправить?

Кракозябры вместо русских букв в Windows 10 применяем 2 метода исправления ситуацииСкачать

Кракозябры вместо русских букв в Windows 10 применяем 2 метода исправления ситуации

Знаки вопроса вместо букв HTML Как исправитьСкачать

Знаки вопроса вместо букв HTML Как исправить

Иероглифы вместо русских букв на Windows 10 Home. Как это устранить.Скачать

Иероглифы вместо русских букв на Windows 10 Home.  Как это устранить.

КАК ИСПРАВИТЬ СИМВОЛЫ И ЗНАКИ ВОПРОСОВ ВМЕСТО РУССКИХ БУКВ КОДИРОВКА ИЕРОГЛИФЫ КРАКОЗЯБРЫ WINDOWS 7Скачать

КАК ИСПРАВИТЬ СИМВОЛЫ И ЗНАКИ ВОПРОСОВ ВМЕСТО РУССКИХ БУКВ КОДИРОВКА ИЕРОГЛИФЫ КРАКОЗЯБРЫ WINDOWS 7

КАК ИСПРАВИТЬ СИМВОЛЫ И ЗНАКИ ВОПРОСОВ ВМЕСТО РУССКИХ БУКВ КОДИРОВКА ИЕРОГЛИФЫ КРАКОЗЯБРЫ WINDOWS 10Скачать

КАК ИСПРАВИТЬ СИМВОЛЫ И ЗНАКИ ВОПРОСОВ ВМЕСТО РУССКИХ БУКВ КОДИРОВКА ИЕРОГЛИФЫ КРАКОЗЯБРЫ WINDOWS 10

Ромбик с вопросительным знаком в конце текста

ромбик с вопросиком

Иногда нам требуется вывести не весь текст поста или комментария, а только его начало, и дать ссылку на продолжение «читать далее». Но стоит нам обрезать текст, как в конце его появляется (иногда) ромбик со знаком вопроса внутри (или рамка с мелкими циферками «1001» — в зависимости от браузера). Предлагаю разобраться, почему такое происходит, и устранить проблему.

Очень популярной кодировкой текста в современном Вебе является «UTF-8». Например, именно её использует WordPress. Кодировка эта мультибайтная, благодаря чему в ней закодированы сотни алфавитов и разнообразные графические символы.

Суть вопроса

Но многие функции PHP писались изначально под однобайтные кодировки. Если при использовании таких функций (например, substr()) указать, что вам нужно взять первые 100 символов строки, то функция возьмёт первые 100 байт. Однако, 1 байт в кодировке «utf-8» занимают далеко не все символы. К примеру, английские буквы и знаки препинания занимают 1 байт, а вот русские буквы занимают 2 байта.

Не все функции учитывают такую особенность кодировки «utf-8», потому случается, что при обрезке строки последний символ «режется пополам». В итоге в конце строки мы имеем символ с номером, отображение которого браузером не предусмотрено — он и будет показан как вопросик в ромбе или какая-то другая непонятная неожиданная символика.

substr работает некорректно

Бывают и другие странности. Например, функцией strlen() вы захотите определить длину строки. Если строка, к примеру, «PHP!» — проблем никаких, результат верный: 4. Но если строка: «Ура!» — результат будет: 7. Если разобраться, в этом нет ничего странного, поскольку кириллические символы занимают по 2 байта, а восклицательный знак — 1 байт. И, если мы захотим усечь строку «Ура!» до 3-х символов функцией substr(), то вместо ожидаемого «Ура» получим «У» и половинку буквы «р» в виде вопросика в ромбе.

Решение

Для устаревших функций работы со строками существуют мультибайтные аналоги. Например, функции strlen() соответствует функция mb_strlen(), для функции substr() есть мультибайтный аналог mb_substr(). Синтаксис почти идентичен, за тем лишь исключением, что вы можете (не обязательно) одним из аргументов указывать кодировку, с которой работаете. Пример:

mb_strlen( 'Ура!', 'utf-8' )

Вернёт корректный результат: 4. Внимание! Если явно не указать кодировку, будет использована серверная кодировка «по умолчанию». А она может отличаться от кодировки, в которой вы работаете над сайтом.

Указывать кодировку явно не всегда удобно. Например, когда требуется взять часть строки с 5 символа до конца, удобней воспользоваться такой конструкцией:

mb_substr( 'разрезаемая строка', 5 )

Здесь я не указал, сколько символов мне нужно, потому функция вернёт весь остаток строки. Но если нужно указать кодировку, код становится сложней:

mb_substr( 'разрезаемая строка'.'1', 5, -1, 'utf-8' )

Тут уже надо явно задавать, сколько нужно символов в результате, чтобы следующим аргументом указать кодировку (нельзя один аргумент пропустить, а следующий указать). Чтобы избежать ещё большего усложнения кода (использования функции mb_strlen() для определения длины строки) я прибегнул к хитрости — добавил к строке произвольный символ '1' и аргументом «-1» указал, что мне нужна вся строка с 5-го до последнего символа (1 с конца).

Более простой и понятный вариант — указать используемую кодировку до того, как пользоваться функциями обработки многобайтных строк:

mb_internal_encoding( 'utf-8' )

Один раз указали «UTF-8» — и в дальнейшем в своих функциях кодировку можно не указывать, если в них вы планируете работать со строками, кодированными в «UTF-8». Функцию mb_internal_encoding() я обычно прописываю в файле конфигурации проекта. Т.е. в том файле, который гарантированно будет подключен в первую очередь, до обработки кодов различных скриптов моего проекта.

Замечание

В официальных источника сказано, что расширение iconv по умолчанию включено. При написании скриптов для себя, вам достаточно просто проверить, включено ли на вашем хостинге mbstring (и можно даже включить, если выключено). Но, при написании скриптов в продакшн, один из ста клиентов создаст вам проблемы. Чтобы этого избежать, пользуйтесь аналогичными функциями расширения iconv:

  • iconv_strlen — Возвращает количество символов в строке
  • iconv_strpos — Возвращает позицию первого вхождения подстроки
  • iconv_strrpos — Возвращает позицию последнего вхождения подстроки
  • iconv_substr — Получение части строки
  • iconv — Преобразование строки в требуемую кодировку
  • и т.д.

За подсказку выражаю благодарность x64 (aka andi).

Первый абзац вводный(просто вода). Решение в следующем абзаце.
Нашел в общем ответ в комментариях под одним из видео про 1251. Потратил уйму времени на чтение однотипных «поменяй справа внизу на utf-8», формата «if u are homeless just buy a house». В основном советы по кодировкам, какие бывают, как исправить, какие файлы, как комп, какие проги, какие языки воспринимают кодировки. КодировкаКодировкаКодировка. А решение оказалось очень простым, но естественно нигде о нем почти не говорят.

Решение: В системе в регион и язык ставим галочку на Бета-версии кодировки
Путь: параметры -> время и язык -> язык -> административные языковые параметры -> дополнительно/изменить язык системы -> ставим галочку напротив Бета-версия

язык и время

Либо у вас, либо у пользователя, который отправил вам письмо, есть проблемы с настройской кодировки для кириллицы. Если вам пришлом такое письмо и вы открываете его через веб-страницу почтовой службы, смените кодировку страницы в браузере. Например, в Firefox — в меню «Вид» -> «Кодировка», а там сначала проверьте, стоит ли у вас в «Автоопределении» русский язык, а потом последовательно попробуйте разные кодировки, начиная с UTF-8.

автор вопроса выбрал этот ответ лучшим

Volna-luna
[54.7K]

10 лет назад 

Значит это письмо пришло в файле и открывается программой. Для этого её надо скачивать. Когда наводите стрелочку и правой стороной мыши нажимаете, то у вас высветится с помощью какой программы можно открыть. Или если у вас её нет, то поиск в интернете.

Знаете ответ?

Понравилась статья? Поделить с друзьями:
  • Профессор дженки saints row 3 как найти
  • Как найти радиоактивное вещество
  • Ребенок подросток как найти общий язык
  • Как найти сечение провода по плотности тока
  • Как найти людей в контакте через телефон