×


Новости и мир Искусство Афоризмы История и факты
-----------

Политика конфидициальности Разместить рекламу

Проблема с кодировкой текста в html, php, js, mysql. РЕШЕНИЕ.


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

--- DanJam. Свобода. Правда. Жизнь ---

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

1 Вариант. Если вы пишите код с помощью блокнота Notepad++
Весьма распространенный вариант. Самое главное, что нужно помнить, когда работаете с Notepad++ - это то, что в самом редакторе нужно изначально настроить кодировку.
а) Меняется кодировка редактора во вкладке "Кодировки".
б) Просмотрите ВСЕ подключенные скриптовые файлы. У них тоже рекомендуется поменять кодировку на ту в которой вы хотите писать вашу страницу.
Проблема с кодировкой текста в html, php, js, mysql. РЕШЕНИЕ.
ВНИМАНИЕ!
После перевода кодировки, она может сразу испортить все символы. Поэтому просто скопируйте ВЕСЬ первоначальный код со страницы, затем переведите страницу в новую кодировку. И только потом вставьте ранее скопированный код на страницу, полностью заменив испорченный код.

2. Проблема с сервером.
Тоже еще одна распространенная проблема. Проверьте настройки вашего сервера. Кодировка сервера должна полностью совпадать с кодировкой файлов вашего сайта.
Проблема с кодировкой текста в html, php, js, mysql. РЕШЕНИЕ.
В OpenServer изменить её можно следующим образом.
Нажмите на флажок сервера. В меню будет вариант "Настройки". Жмите на них.
Далее в появившимся окошке нажмите вкладку "Кодировки". Там вы сможете изменить настройки (кодировки) сервера и базы данных.


3. Файл .htaccess
Зачастую этот файл зависит от настроек сервера и генерируется автоматически хостингом, поэтому его не требуется корректировать.
Но в случае, если у вас локальный сервер (расположен на вашем компьютере) его можно лишний раз проверить и записать парочку строчек кода.
Эти строчки выглядят таким образом:

DefaultLanguage ru
AddDefaultCharset windows-1251
php_value default_charset "windows-1251"

windows-1251 замените на свою кодировку (utf-8 и т.д.)
Строчки можно разместить в любом месте. Но рекомендуется разместить их в самом начале.

4.META - теги.


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />



В принципе, meta-теги с кодировкой можно не ставить вовсе - это даже даст больше шансов того, что ваша кодировка не слетит. Ставили их в основном из-за того, что старые машины не умели автоматически определять язык и кодировку в документе.

Но, если вы их хотите ставить, то не забывайте их проверить и выставить нужную кодировку.

p.s. если вы педагог одного из вузов ЭВМ и сразу будете спорить "Да как же так?", "Мета-теги нужны всегда!", то я не буду спорить. Лишь оговорюсь, что на практике их простановка - дело случая. Мета-тег теоретически закрепит вашу кодировку надёжнее.

5. Кодировка базы данных и таблиц.
Помимо веб сервера, есть ещё и база данных и таблицы, которые располагаются в ней.
Проблема с кодировкой текста в html, php, js, mysql. РЕШЕНИЕ.
а) В phpmyadmin нажмите на вашу базу данных и зайдите во вкладку "Операции". Там найдите пункт "сравнение". В этом пункте выберете нужную кодировку и сохраните результат.
б) В таблице кодировка меняется следующим образом: Жмете на нужную вам таблицу,далее жмите на вкладку "Операции" и там аналогичным образом выбираете кодировку.
в) В таблицах могут быть колонки с изначально выбранной кодировкой, их тоже стоит проверить. Для этого просто отредактируйте нужную колонку в таблице.

6. php файлы.
В случае если ничего из вышеописанного не помогло, то можно прописать в php-файлах следующую строку. (обычно её прописывают в php-файлах, где обрабатывается sql-запрос к базе данных)
header("Content-type: text/html; charset=windows-1251");

Прописать её можно либо в начале документа, либо в месте где вы пишите sql-запрос к Базе данных. В любом случае, стоит экспериментировать с местом, где вы будите ставить эту строку.

7. Правильно ли вы называете кодировку?
У каждой кодировки есть свое название, иногда некоторые символы можно перепутать.
Например, если вместо windows-1251 написать windows-1250, то это будет являеться другой кодировкой и приведет к проблемам.
В MySQL сервере кодировка windows-1251 имеет название cp1251_general_ci, но в php запросах следует писать windows-1251.

Как избежать проблем с кодировкой?
Лучший совет заключается в том, чтобы не перегружать код кодировками. Не нужно прописывать кодировку к каждой второй строчке js-скрипта, мета-тегам, прописывать кодировку около каждой колонки в таблицах базы данных.
Поверьте, это не нужно. Более того, будет вдвойне обиднее, если вы захотите глобально поменять ваш сервер с кодировки windows-1251 на utf-8, а ваш сайт целиком будет написан в кодировке windows-1251. Придется перелопатить не только сайт, но и базу данных.

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

*Мы не заставляем вас верить описанной информации выше. Любую информацию рекомендуем проверить в разных источниках.

Мы рады, спасибо! Увы, у нас нет рейтинговой системы - мы не повышаем статьи на основе лайков или дизлайков. Однако, если вы поделитесь ссылкой на статью - это будет лучшей благодарностью.

Увы, да. Возможно и такое. Мысли - достаточно сложная вещь. Кому-то они не понравятся, а кому-то покажутся интересными. Но кто в этом случае будет "прав" больше?








Мы боремся не за человеческие права народа, но за божественные права человека.

Генрих Гейне


Norway
Человеческое сердце создает давление, которого достаточно, чтобы поднять кровь на уровень 4-го этажа.

[ Интересные факты о мире ]


Как опубликовать исходный html код на своем сайте?

html

Как разместить несколько блоков css? (разные варианты)

html

Удаление дубликатов строк из таблицы MySQL

html

Модальное окно на css. Что это такое и как сделать?

html




Общество Петербург Статьи факты и мир Выборг Тунис Турция Мистика Тайны истории html, css, js, php Новости Психология Отношения и любовь Крым Политика






×

Рассказы из категории: Создание сайта (html,css,php,js)