Русское сообщество по скриптингу

Делаем две кодировки в одном файле ANSI + UTF-8

Статьи или фрагменты кода для новичков и уже опытных скриптеров по AMXX.

Модератор: Chuvi

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только обучающему материалу по AMX Mod X.

Делаем две кодировки в одном файле ANSI + UTF-8

Сообщение Retro-kolt Lincoln » 15 авг 2011, 22:35

Автор статьи: Freedo.m
Специально для: amx-x.ru

Описание:
В этой статье я расскажу как сделать двойную кодировку. Наверно уже созрел вопрос зачем? Сейчас я поясню. Все мы знаем стандартную статистику от amxmodx и что там нельзя отобразить русский текст, а вот это я вам скажу большое заблуждение. Давайте рассмотрим один из способов исправление такого бага. Так же этот способ можно в разных случаях, если например вам нужно чтобы у вашего исходника была кодировка ANSI и чтобы там были русские буквы, которые при такой кодировке не отображаются в кс'е то тогда этот способ для вас.

Нам понадобится:
notepad ++ (Вы должны зарегистрироваться, чтобы видеть ссылки.)
Немного терпения.

Начали:
Берём ваш плагин который нужно сделать с двойной кодировкой, открываем его в notepad++, меняем ему кодировку на UTF-8 (без BOM), теперь всё что вы в нём напишите на русском будет в кодировке UTF-8 (без BOM), после того как сделали всё что нужно, нажимаем опять на кодировку и на вкладку Кодировать в ANSI Теперь весь текст который будет написан на русском будет в кодировке ANSI.(Внимание! Если после того как вы перекодируете в ANSI и после сохранения ваша кодировка будет слетать на UTF-8 (без BOM) в конец плагина вставьте код: /*ё*/ ошибка должна исчезнуть!)

Теперь объясню на примере:
Я переводил плагин ProKreedz 2.27 и столкнулся с проблемой, когда я перевёл все чат, Hud сообщения, взялся за Top10, но если его переводить на русский с кодировкой UTF-8 (без BOM) то место русских букв будут отображаться иероглифы, а если сделать кодировку ANSI то не будут отображаться чат и HUD сообщения. Вот как раз такой способ тут и нужен, сначала я перевёл все чат сообщения в кодировке UTF-8 (без BOM) после поменял её на ANSI и перевёл Top 10 и теперь русский текст отображается и там и там.

Спасибо за внимание, надеюсь статья будет для кого то полезной.
Последний раз редактировалось Retro-kolt Lincoln 16 авг 2011, 10:18, всего редактировалось 4 раз(а).
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: Делаем двойную кодировку ANSI + UTF-8

Сообщение Factor » 15 авг 2011, 23:02

На счет плагинов, спасиб, не знал. А вот на счет мотд, можно прописать в самом файле motd.txt вот это -
Код: Выделить всё
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

и всё текст русский.
Аватара пользователя
Factor
 
Сообщения: 222
Зарегистрирован: 25 июн 2011, 15:14
Откуда: +4:00 GMT
Благодарил (а): 59 раз.
Поблагодарили: 10 раз.
Опыт программирования: Около 3 месяцев
Языки программирования: Counter-Strike 1.6

Re: Делаем двойную кодировку ANSI + UTF-8

Сообщение EvilCoder » 15 авг 2011, 23:53

Напиши автора, и желательно бы ссылку сразу на notepad++
Не забывайте, что у вас есть возможность отправлять жалобы на сообщения, присланные вам от других пользователей в ЛС.
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Принимаются заявки на вступление в группу Скриптеры
Аватара пользователя
EvilCoder
Администратор
 
Сообщения: 1960
Зарегистрирован: 20 апр 2010, 12:11
Благодарил (а): 44 раз.
Поблагодарили: 663 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Делаем двойную кодировку ANSI + UTF-8

Сообщение Retro-kolt Lincoln » 15 авг 2011, 23:56

Ну автор я :-D, Статью отредактировал как надо! :boast:
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: Делаем две кодировки в одном файле ANSI + UTF-8

Сообщение nik66. » 16 авг 2011, 12:05

Полезно,но что-то у меня со статой не получается.Попробую еще когда псих пройдет..
Ну и вопросы:
1.AkelPad не подойдет?
2.А как будет выглядеть rules.txt,допустим, написанный на русском и английском на дисплее у иностранного товарища,у которого нет юникода?
3.А почему собственно в utf-8? Все .txt файлы Steam имеют кодировку 1200 (UTF-16LE)..
Аватара пользователя
nik66.
 
Сообщения: 29
Зарегистрирован: 27 окт 2010, 15:15
Откуда: Е-бург
Благодарил (а): 4 раз.
Поблагодарили: 3 раз.

Re: Делаем две кодировки в одном файле ANSI + UTF-8

Сообщение Retro-kolt Lincoln » 16 авг 2011, 12:14

1. Не работал с AkelPad по этому не знаю.
2. В смысле в windows нет юникода чтоли?
3. Потому что я говорил о плагинах, а плагины делают либо с ANSI либо с UTF-8 (если присутствуют русские слова). Но как пример, это можно использовать и в других целях. И в кс чат и худ с русскими буквами поддерживаться только в кодировке UTF-8 без BOM
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6


Вернуться в Статьи / фрагменты кода

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6