Sdscompany.ru

Компьютерный журнал
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Php иероглифы вместо русских букв

Кракозябры вместо русских букв на сайте — 6 проблем и их решения

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

На своих сайтах я обычно использую UTF-8 (это такая кодировка текста, она ещё называется юникод), соответственно она будет присутствовать во всех примерах в этой статье.

1. UTF-8 без BOM

Начнём с самой простой проблемы. Вы создали какой-то HTML-файл, открыли его в браузере и получили:

Проблема актуальна в основном для пользователей Windows, на маке я с таким ни разу не сталкивался.

Решение проблемы зависит в основном от того, каким редактором вы пользуетесь. Для пользователей Windows я рекомендую бесплатный офигительный Notepad++.

Значит, открываем файл в Notepad++ и переходим в Кодировки > Преобразовать в UTF-8 без BOM. Вопрос — почему без BOM? Потому что с BOM у вас будут постоянно вставляться пустые символы (на самом деле они не пустые, у них тоже есть своя функция, но нам она в данном случае не нужна) куда не надо, а для PHP это уже критично.

2. Мета тег charset

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

Всё, что нам требуется, это вставить следующий код между тегами сайта. Прежде всего проверьте, возможно этот метатег у вас уже присутствует. Если да, то посмотрите какое у него стоит значение параметра charset.

В темах WordPress обычно этот тег уже имеется по умолчанию и выглядит следующим образом:

3. .htaccess

Если русские буквы до сих пор отображаются кракозябрами, тогда открываем ваш .htaccess , который лежит в корне сайта и вставляем туда с новой строки это:

4. Заголовки сервера через header()

Ещё один способ определения кодировки. На этот раз через PHP. На WordPress никогда не приходилось им пользоваться.

Важно! Этот код должен вставляться до того, как будет что-либо выведено на странице сайта, иначе — ошибка.

5. Проблемы с последним символом при обрезке строки

На многих сайтах встречаются блоки с популярными записями, последними комментариями, отзывами и так далее. Обычно в таких обзорных блоках выводится часть записи/комментария/отзыва и кнопка «читать далее». Так вот, для того, чтобы вывести первые несколько предложений или первые несколько слов текста, используется функция PHP substr() . Конечно же в основном я имею ввиду англоязычные темы, которых так много в интернете. Даже если у этих тем есть локализация — то есть вроде бы она на русском — переведена админка, переведён практически весь сайт, но при этом мы встречаем такие вот косяки:

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

Легко — всё что нам нужно, это найти функцию substr() в коде и поменять её на mb_substr() .

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

6. MySQL

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

Такое может произойти, если кодировка вашего сайта не совпадает с кодировкой базы данных, к которой вы подключаетесь. В WordPress обычно таких проблем не бывает.

Для того, чтобы исправить это, после подключения к БД, делаем следующее:

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

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Русские буквы и символы в PHP скриптах и базе данных MySQL

Доброго времени суток, мой дорогой гость.

Проблемы с кодировкой в PHP

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

Обычный вывод в PHP

Если не отображаются русские символы при обычном выводе через echo, появляются знаки вопроса (?) вместо букв, то проблемой может быть неверно указанная кодировка файла. Стандартная программа блокнот Windows по умолчанию сохраняет файл в кодировке ANSI, в результате чего появляется такая проблема как на картинке.

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

Решить проблему можно сохранив файл в формате UTF-8, для этого в блокноте достаточно нажать Файл->Сохранить как… и в появившемся окне выбрать тип файла «Все файлы» и выбрать кодировку UTF-8. После чего нажать кнопку сохранить и подтвердить замену файла.

Сохранение файла в кодировке UTF-8

Открываем вновь в браузере и видим, что проблема решена.

Нормальное отображение символов в PHP

Этот способ показан для программы Блокнот Windows, т.к. чаще всего проблема возникает именно с ней у начинающих программистов PHP. Для программирования лучше использовать специальный текстовый редактор (Sublme Text, Notepad++ и др.) или IDE PhpStorm, они по умолчанию работают UTF-8.

Ошибки с русским текстом в базе данных MySQL

Проблема проявляет себя во время сохранения данных в базе данных MySQL. Обычно это происходит из-за того, что пользователь, при создании новой базы данных и таблицы, не выбирает сравнение(кодировку) и она устанавливается по умолчанию как latin1_swedish_ci.

Читать еще:  Php счетчик посещений страницы

СУБД возвращает ошибку при попытке добавить русский текст в поле записи.

#1366 — Incorrect string value

Ошибка при добавлении русского текста в запись таблицы СУБД MySQL

Чтобы не сталкиваться с такой проблемой необходимо всегда выбирать сравнение utf8_general_ci при создании базы данных, таблиц и столбцов.

Знаки вопроса при выводе данных из базы данных MySQL

Иногда возникает проблема с отображением данных, полученных из базы данных MySQL. Обычно вместо русских символов выводятся знаки вопроса.

Проблема решается путем установления кодировки подключения к базе данных.

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

Непонятные символы вместо текста в браузере

Здравствуйте, уважаемые читатели, почитатели и прочие хорошие люди!

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

Итак, сегодня нас ждет не легкая софтовая статья, а суровая техническая, так что приготовьтесь: будем немного ударяться в суровые реалии.
Поехали.

Что такое кодировка текста и с чем ее едят?

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

Сначала я подумал, что моя любимая Мозилка (браузер Firefox) перегрелась и ей пора вызывать неотложку, но потом начал понимать, что проблема, скорее всего, на стороне ресурса сети и кроется она в неправильно настроенной кодировке. Это действительно оказалось так, и пошаманив немного с бубном, проблемка была оперативно решена. Результатом же всех моих любовных похождений и стал сегодняшний материал. Собственно, поехали разбираться в деталях.

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

Если Вы хоть немного знакомы с языком разметки гипертекста ( HTML ), то должны быть в курсе, что сайт глазами поисковых машин (Google, Яндекс ) видится не как обычный текст, а как структурированный документ, состоящий из последовательностей различного рода тегов. Чтобы было понятней, о чем я говорю, давайте взглянем на всеми нами любимый сайт Заметки Сис.Админа ” проекта [ Sonikelf’s Project’s ], но не глазами обычного пользователя, а «глазами» поисковика. Для этого нажимаем сочетание клавиш Сtrl+U (для браузеров Firefox и Chrome ) и видим следующую картину (см. изображение):

Перед нами машинный вариант sonikelf.ru , вот в таком вот непрезентабельном виде он подается поисковым системам и именно в таком виде они его и кушают. Если бы мы просто взяли и “засандалили” варианты статей из блокнота или Word обычным текстом, машины бы им не то что подавились, они бы даже и есть его не стали. Итак, перед нами главная страница проекта в HTML -виде. Обратите внимание на строку с надписью UTF-8 , это не что иное, как пресловутая кодировка текста страницы, именно она и отвечает за формат вывода информации в презентабельном виде, в результате чего через браузер мы видим нормальный текст.

Теперь давайте разберемся, почему же происходит так, что порой на экране монитора мы видим кракозябры. Все очень просто, проблема кроется в открытии файла в неверной кодировке. Если перевести на бытовой язык, то допустим Вас послали в магазин за молоком, а Вы притарабанили хлеб, вроде бы тоже съестное, но совсем другой формат продукта.

Итак, теперь давайте разбираться с теорией и для этого введем некоторые определения.

  1. Кодировка (или “ Charset ”) – соответствие набора символов набору числовых значений. Нужна для “сливания” информации в интернет, т.е. текстовая информация преобразуется в биты данных;
  2. Кодовая страница (“ Codepage ”) – 1 байтовая ( 8 бит) кодировка;
  3. Количество значений, принимаемое 1 байтом – 256 (два в восьмой).

Соответствие “символ-изображение” задается с помощью специальных кодовых таблиц, где каждому символу уже присвоен свой конкретный числовой код. Таких таблиц существует достаточно много, и в разных таблицах один и тот же символ может идентифицироваться по-разному (ему могут соответствовать разные числовые коды).

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

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

В общем.. С определениями разобрались, а теперь давайте узнаем, какие же (кодировки) бывают.

Виды кодировок текста

А их, в общем-то, хватает.

Одной из самых “древних” считается американская кодировочная таблица ( ASCII , читается как “аски”), принятая национальным институтом стандартов. Для кодировки она использовала 7 битов, в первых 128 значениях размещался английский алфавит (в нижнем и верхнем регистрах), а также знаки, цифры и символы. Она больше подходила для англоязычных пользователей и не была универсальной.

Отечественный вариант кодировки, для которого стали использовать вторую часть кодовой таблицы – символы с 129 по 256 . Заточена под русскоязычную аудиторию.

  • Кодировки семейства MS Windows : Windows 1250-1258 .

8-битные кодировки, появились как следствие разработки самой популярной операционной системы, Windows . Номера с 1250 по 1258 указывают на язык, под который они заточены, например, 1250 – для языков центральной Европы; 1251 – кириллический алфавит.

  • Код обмена информацией 8 бит – КОИ8

KOI8-R, KOI8-U, KOI-7 – стандарт для русской кириллицы в юникс-подобных операционных системах.

Универсальный стандарт кодирования символов, позволяющий описать знаки практически всех письменных языков. Обозначение “ U+xxxx ” (хххх – 16-ричные цифры). Самые распространенные семейства кодировок UTF (Unicode Transformation Format) : UTF-8, 16, 32 .

Читать еще:  Html checkbox mvc

В настоящее время, как говорится, “рулит” UTF-8 – именно она обеспечивают наилучшую совместимость со старыми ОС , которые использовали 8 -битные символы. В UTF-8 кодировке находятся большинство сайтов в сети Интернет и именно этот стандарт является универсальным (поддержка кириллицы и латиницы).

Разумеется, я привел не все виды кодировок, а только наиболее ходовые. Если же Вы хотите для общего развития знать их все, то полный список можно отыскать в самом браузере. Для этого достаточно пройти в нем на вкладку “ Вид-Кодировка-Выбрать список ” и ознакомиться со всевозможными их вариантами (см. изображение).

Думаю возник резонный вопрос: “ Какого лешего столько кодировок? ”. Их изобилие и причины возникновения можно сравнить с таким явлением, как кроссбраузерность/кроссплатформенность. Это когда один и тот же сайт сайт отображается по-разному в различных интернет-обозревателях и на различных гаджет-устройствах. Кстати у сайта » Заметки Сис.Админа » с этим, как Вы заметили всё в порядке :).

Все эти кодировки – рабочие варианты, созданные разработчиками “под себя” и решение своих задач. Когда же их количество перевалило за все разумные пределы, а в поисковиках стали плодиться запросы типа: “ Как убрать кракозябры в браузере? ” — разработчики стали ломать голову над приведением всей этой каши к единому стандарту, чтобы, так сказать, всем было хорошо. И кодировка Unicode , в общем-то, это “хорошо” и сделала. Теперь если такие проблемы и возникают, то они носят локальный характер, и не знают как их исправить только совсем непросвещенные пользователи (впрочем, часто беда с кодировкой и отображением сайтов появляется из-за того, что веб-мастер указал на стороне сервера некорректный формат, и приходится переключать кодировку в браузере).

Ну вот, собственно, пока вся «базово необходимая» теория, которая позволит Вам “не плавать” в кодировочных вопросах, теперь переходим к практической части статьи.

Решаем проблемы с кодировкой или как убрать кракозябры?

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

В любой операционной системе имеется таблица символов, ее не нужно докачивать, устанавливать – это данность свыше, которая располагается по адресу: “Пуск-программы-стандартные-служебные-таблица символов”. Это таблица векторных форм всех установленных в Вашей операционной системе шрифтов.

Выбрав “дополнительные параметры” (набор Unicode ) и соответствующий тип начертания шрифта, Вы увидите полный набор символов, в него входящих. Кликнув по любому символу, Вы увидите его код в формате UTF-16 , состоящий из 4 -х шестнадцатеричных цифр (см. изображение).

Теперь пара слов о том, как убрать кракозябры. Они могут возникать в двух случаях:

  1. Со стороны пользователя — при чтении информации в интернет (например, при заходе на сайт);
  2. Или, как говорилось чуть выше, со стороны веб-мастера (например, при создании/редактировании текстовых файлов с поддержкой синтаксиса языков программирования в программе Notepad ++ или из-за указания неправильной кодировки в коде сайта).

Рассмотрим оба варианта.

№1. Иероглифы со стороны пользователя.
Допустим, Вы запустили ОС и в каком-то из приложений у Вас отображаются пресловутые каракули. Чтобы это исправить, идем по адресу: “ Пуск — Панель управления — Язык и региональные стандарты — Изменение языка ” и выбираем из списка, » Россия «.

Также проверьте во всех вкладках, чтобы локализация была “ Россия/русский ” – это так называемая системная локаль.

Если Вы открыли сайт и вдруг поняли, что почитать информацию Вам не дают иероглифы, тогда стоит поменять кодировку средствами браузера (“ Вид — Кодировка ”). На какую? Тут все зависит от вида этих кракозябр. Ориентируйтесь на следующую шпаргалку (см. изображение).

№2. Иероглифы со стороны веб-мастера.
Очень часто начинающие разработчики сайтов не придают большого значения кодировке создаваемого документа, в результате чего потом и сталкиваются с вышеозначенной проблемой. Вот несколько простых базовых советов для веб-мастеров, чтобы исправить беду.

Чтобы такого не происходило, заходим в редактор Notepad++ и выбираем в меню пункт “ Кодировки ”. Именно он поможет преобразовать имеющийся документ. Спрашивается, какой? Чаще всего (если сайт на WordPress или Joomla ), то “ Преобразовать в UTF-8 без BOM ” (см. изображение).

Сделав такое преобразование, Вы увидите изменения в строке статуса программы.

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

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

Прописав такую строчку, Вы заставите браузер правильно интерпретировать кодировку, и иероглифы пропадут.

Также может потребоваться корректировка вывода данных из БД (MySQL). Делается сие так:

mysql_query(‘SET NAMES utf8’ );
myqsl_query(‘SET CHARACTER SET utf8’ );
mysql_query(‘SET COLLATION_CONNECTION=»utf8_general_ci'» ‘);

Как вариант, можно еще сделать ход конём и прописать в файл .htaccess такие вот строчки:

# BEGIN UTF8
AddDefaultCharset utf-8
AddCharset utf-8 *

CharsetSourceEnc utf-8
CharsetDefault utf-8

# END UTF8

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

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

Послесловие

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

На сим все, спасибо за внимание и до новых встреч.

MySQL + кодировка таблиц + php include = иероглифы.

Каждый web-разработчик хотябы раз в своей жизни, а то и стопятсот раз сталкивался с проблемой неправильной кодировки сайта (например, когда вместо русских букв вы видите кракозябры). А если выразиться более корректно, то с проблемой «расхождения» кодировок на сайте. Ибо если везде указана одна и та же кодировка, то проблем с ней возникнуть не может! Итак, давайте попробуем разобраться, в каких местах нам надо настроить (указать) кодировку для сайта:

Читать еще:  Конструкция if php

Самое главное — это соблюсти одно условие: во всех вышеперечисленных местах кодировка должна быть одинаковой. Если это utf-8, то везде, во всех пяти местах, это должна быть именно utf-8. Иначе рано или поздно вы будете сталкиваться с проблемой кодировок и тратить на это по парочке часов драгоценного времени.

1. Как перекодировать файл, отвечающий за web-страницу?

Для того чтобы узнать текущую кодировку файла, вы можете открыть его в Notepad++, зайти в пунк «Encoding» и там будет выбрана текущая кодировка файла. Для того чтобы её сменить, например, на UTF-8, выберите в этом же меню «Convert to UTF-8 without BOOM».

2. Как перекодировать подключаемые файлы?

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

3. Как указать кодировку в файле httpd.conf?

Файл httpd.conf содержит глобальные инструкции для сервера. Обычно он расположен по пути «/usr/local/apache/conf/», также вы можете его найти поиском. Если в нем изменить кодировку по умолчанию, то она поменяется для всех сайтов, расположенных на этом сервере. Будьте аккуратны!

Чтобы сменить кодировку, найдите в файле httpd.conf строчку «AddDefaultCharset windows-1251» и замените на «AddDefaultCharset utf-8».

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

4. Как указать кодировку в файле .htaccess?

В корневой директории вашего сайта скорее всего уже есть, а если нету, то можно создать файл .htaccess. Да-да, это файл без имени, только с расширением. Он отвечает за настройки апача для конкретного сайта. Для того чтобы в нем прописать кодировку сайта, необходимо найти и подправить (или добавить) вот такую строку: «AddDefaultCharset UTF-8».

5. Как указать кодировку Базы данных?

Есть такие люди, которые проблему несоответствия кодировок файлов и БД решают, например, так:

Ну и существует еще порядка 10 способов на лету (при извлечении, при записи) перекодировать данные. Но понятно же, что когда-нибудь это не сработает: просто в кодировке windows-1251 не окажется нужного символа.

Так что когда создаете БД, то выбирайте сразу же правильную кодировку: «UTF-8 general ci». Либо можно попробовать сменить кодировку в Базе данных:

Ах да! Не забудьте, что в базе данных у каждой таблицы есть своя кодировка. И если на момент смены кодировки у самой БД уже были созданы какие-то таблицы, то им также придется вручную сменить кодировку:

Ну и еще вас немного огорчу. У колонок таблицы тоже есть своя кодировка =) И если таблица на момент перекодирования БД была уже создана, то эту кодировку также придется сменить:

Конец

Ну вот, надеюсь, что после прочтения этой статьи вы поняли, что кодировка может задаваться не только в самом файле, но и еще в куче разных мест. Дерзайте, друзья, и используйте везде кодировку UTF-8, ибо её поддерживают сейчас все разработчики, и она поддерживает все известные и неизвестные вам символы 😉

Php иероглифы вместо русских букв

Paster Fob » 11.05.2011 20:19:45

Ну вот установил Lasarus,попробовал написать что-нибудь,но вместо русских букв какие-то иероглифы.Вот к примеру.

Почему так,или что-то надо настроить?

Re: Иероглифы вместо русских букв.

Nik » 11.05.2011 20:29:55

Скорее всего в консоли не поддерживается UTF8. Попробуйте вывести как-то так:

Re: Иероглифы вместо русских букв.

Ism » 11.05.2011 20:30:33

или чтото такое для Dos кодировки

Re: Иероглифы вместо русских букв.

Mr.Smart » 11.05.2011 20:31:39

Re: Иероглифы вместо русских букв.

Paster Fob » 11.05.2011 20:42:10

Re: Иероглифы вместо русских букв.

Paster Fob » 14.05.2011 06:02:03

Re: Иероглифы вместо русских букв.

v-t-l » 14.05.2011 09:42:52

Re: Иероглифы вместо русских букв.

Paster Fob » 14.11.2012 18:40:30

Re: Иероглифы вместо русских букв.

mtdu » 14.11.2012 20:57:16

Re: Иероглифы вместо русских букв.

SSerge » 15.11.2012 04:51:20

Следующий вопрос предвижу » почему это у меня не работают функции copy, delete, insert и вместо i-го символа строки получается какая-то хрень, а длина строки из трех русских букв почему равна шести ?»

*подумал* и решил таки рекомендовать:

http://www.freepascal.ru/article/freepa . 718142000/ — «Правильный» путь развития, по работе с русским языком, особенно в консоли, противоречащий 99% учебников по FreePascal, Pascal и Deplhi

И, «прикладная кадаврология», http://sirserge.altai.info/articles/?id=41 о том, как работать с русским языком «по старому пути развития», ведущему в тупик. Беллетристику аккуратно пропускаем мимо ушей, стиль написания там чернушный.

смотрите сами, стоит эти материалы применять или нет, написаны они отнюдь не для начинающих

Re: Иероглифы вместо русских букв.

Paster Fob » 15.11.2012 06:35:11

Re: Иероглифы вместо русских букв.

SSerge » 15.11.2012 07:36:56

Иллюстрация «старого подхода».
Внимание. Lazarus должен быть исключительно «официальный», релизный , функции преобразования в так называемых «последних» версиях на компиляторе 2.7.1 обычно испорчены до необратимого состояния. Файл — в кодировке UTF8.

Код: Выделить всё program project1;
Uses FileUtil;

begin
s1:=’Введите предложение:’;
write(UTF8ToConsole(s1));
readln(s2);
s2:=ConsoleToUTF8(s2);
s3:=’Вы ввели:’;
writeln(UTF8ToConsole(s3),UTF8ToConsole(s2));
end.

. вообще то лазарус не предназначен для работы с консолью.

Re: Иероглифы вместо русских букв.

Paster Fob » 15.11.2012 08:06:03

SSerge писал(а): Иллюстрация «старого подхода».
Внимание. Lazarus должен быть исключительно «официальный», релизный , функции преобразования в так называемых «последних» версиях на компиляторе 2.7.1 обычно испорчены до необратимого состояния. Файл — в кодировке UTF8.

Код: Выделить всё program project1;
Uses FileUtil;

begin
s1:=’Введите предложение:’;
write(UTF8ToConsole(s1));
readln(s2);
s2:=ConsoleToUTF8(s2);
s3:=’Вы ввели:’;
writeln(UTF8ToConsole(s3),UTF8ToConsole(s2));
end.

. вообще то лазарус не предназначен для работы с консолью.

Re: Иероглифы вместо русских букв.

SSerge » 15.11.2012 08:20:19

FreePascal какой? Должен быть 2.6.0

Добавлено спустя 5 минут 24 секунды:
что то не обратил внимание. У вас собственно что вводится, то и выводится, без искажений. Очень подозреваю ненормальные настройки консоли в рамках Windows (русификаторы какие нибудь и т.п.) Во всяком случае, русские буквы должны печататься как рксские буквы, когда вы их набираете, это к lazarus/freepascal отношения не имеет, это настройки и функции вашей операционной системы

Добавлено спустя 1 минуту 4 секунды:
Как до консоли добираетесь?

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector