Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Создание сайта и французский язык

#1 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93
2

Отправлено 28 Май 2013 - 20:39

(Конкурсная тема, конкурс "Web-ошибки")

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

Изображение

Редактор (php expert editor) взял да и позаменял французские символы как ему вздумалось.


И тут встал вопрос: Как же все таки редактировать файлы, в которых есть французские символы, а точнее буквы с диакритикой (ÀÀ, ÈÈ, ÙÙ и другие). Я принялся искать ответ на данный вопрос.

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

Уже наступала паника, так как клиент ждет, а я попросту не могу править файлы.

Решил покопаться в настройках видны (кстати, все это делалось под Win7 64bit, а позже и под Win8 64bit).
Добавил французский язык в систему - никаких результатов.
Изменил язык интерфейса на французский - тоже ничего.

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

Как решил проблему(инструкция под win8 и win7):
Заходим в "Панель управления" - "Часы, язык и регион" - "Региональные стандарты".
В появившемся окне переходим на вкладку "Дополнительно". Там будет опция "Язык для программ, не поддерживающих Юникод".
Нажимаем на кнопочку "Изменить язык системы..." и ставим французский язык.
Изображение

Перезагружаем компьютер и все готово! Теперь можно спокойно редактировать файлы на французском языке (для этого дела я использвал php expert editor).

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

Всем Happy Coding :)

При поддержке: Fozzy - эксклюзивный спонсор конкурса на Masterwebs. На хостинге Fozzy ваш сайт будет работать до 3-х раз быстрее, а отзывчивая поддержка поможет в любой трудной ситуации. Попробуйте быстрый хостинг Fozzy бесплатно в течение 7 дней!
Изображение

 

 

  • 1

#2 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 29 Май 2013 - 16:52

Язык для программ, не поддерживающих Юникод

Насколько я знаю, практически все редакторы поддерживают работу с юникодом, поэтому не совсем понял смысл всех этих действ, если файл можно просто принудительно открывать в кодировке UTF-8.
Проверил в 2-х редакторах - Notepad++ и phpDesigner 7. Взял текст французской песни, вставил текст в редактор и сохранил 2 файла с разными кодировками - ANSI и UTF-8. После этого открыл оба файла в редакторе заново. Как и ожидалось, текст сохраненный в кириллической кодировке, вместо специфических символов показал обычные латинские. Текст же в юникоде спокойно отображает эти самые специфические символы... собственно, как и ожидалось.
Получается, это описание ненужных танцев с бубном или, быть может, есть какие-то нюансы?

Прикрепленные изображения

  • french.jpg

  • 0


#3 html-ka

html-ka
  • Пользователь
  • 455 сообщений
  • Репутация: 82

Отправлено 29 Май 2013 - 17:32

наверное нюанс это ввод текста на французском языке :) , хотя там тот же латинский алфавит и никаких особых букв я не увидел, в остальном действительно это ненужные танцы с бубном.
  • 0

#4 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 29 Май 2013 - 17:44

наверное нюанс это ввод текста на французском языке

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


#5 html-ka

html-ka
  • Пользователь
  • 455 сообщений
  • Репутация: 82

Отправлено 29 Май 2013 - 17:47

мы не поняли друг друга или у вас в магазинах на каждом углу продаются французские клавиатуры :)
  • 0

#6 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 29 Май 2013 - 17:56

мы не поняли друг друга или у вас в магазинах на каждом углу продаются французские клавиатуры :)

Наверное первое. Я написал Вам возможные способы ввода французского текста в ответ на эту фразу:

наверное нюанс это ввод текста на французском языке

Собственно, в ответе я пытался сказать, что способ ввода здесь и не при чем как бы :)
  • 0


#7 isvetlichniy

isvetlichniy
    Topic Starter
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 29 Май 2013 - 18:33

Получается, это описание ненужных танцев с бубном или, быть может, есть какие-то нюансы?


если вставлять текст копи-пастом, то проблем никаких.
у меня же ситуация была с редактированием уже готовых файлов. Уже при их открытии отображались неверные символы и мне так и не удалось перекодировать их.
Прикрепляю файл для любознательных и тех кто не понимает зачем танцы с бубном :)
строки 130-131, 237-240

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

наверное нюанс это ввод текста на французском языке

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

Прикрепленные файлы

  • Прикрепленный файл  tlistp.lib.php   12,66К   Количество загрузок: 308

  • 0

#8 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 30 Май 2013 - 10:18

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

Да, именно в этом. Это был отнюдь не юникод, а, скорее всего, какая-то кодировка из семейства ASCII-совместимых - именно эти кодировки (помимо юникода) довольно часто используются для работы со специфическими символами. Скорее всего, это может быть ISO-8859-15 или ISO-8859-16... точнее, конечно же, мог бы сказать автор файла, ну или можно было бы и самому определить, если взглянуть на исходный текст.
Вообще, я бы все же, не мучаясь, если позволяла ситуация, попросил автора перекодировать файл в юникод.
Ну и для перекодирования можно воспользоваться любым декодером, который поддерживает работу с вариантами ISO-кодировок, например декодер на сайте Лебедева.

Прикрепленные изображения

  • decoder.jpg

  • 0


#9 isvetlichniy

isvetlichniy
    Topic Starter
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 30 Май 2013 - 11:15

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

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

вот так вот...
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru