LINUX.ORG.RU

Сохранение файла с русским текстом vim

 ,


0

1

Пытаюсь сохранить php-файл с русским текстом, на что vim мне пишет CONVERSION ERROR и отказывается это делать. Погуглил, пытался поменять кодировку на utf-8 и пробовал :set ff=unix (когда-то давно сайт разрабатывался под Windows) - не помогает. Может уважаемые форумчане подскажут решение проблемы?


php-файл с русским текстом

в какой кодировке текст?

сайт разрабатывался под Windows

man iconv
man enca

В гугле полно примеров с перекодированием cp1251(Windows-кодировка) в utf8

Pinkbyte ★★★★★
()
Ответ на: комментарий от salsa
$ enca art-design.php
enca: Cannot determine (or understand) your language preferences.
Please use '-L language', or '-L none' if your language is not supported
(only a few multibyte encodings can be recognized then).
Run 'enca --list languages' to get a list of supported languages.
$ enca --list languages
belarussian: CP1251 IBM866 ISO-8859-5 KOI8-UNI maccyr IBM855 KOI8-U
  bulgarian: CP1251 ISO-8859-5 IBM855 maccyr ECMA-113
      czech: ISO-8859-2 CP1250 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
   estonian: ISO-8859-4 CP1257 IBM775 ISO-8859-13 macce baltic
   croatian: CP1250 ISO-8859-2 IBM852 macce CORK
  hungarian: ISO-8859-2 CP1250 IBM852 macce CORK
 lithuanian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
    latvian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
     polish: ISO-8859-2 CP1250 IBM852 macce ISO-8859-13 ISO-8859-16 baltic CORK
    russian: KOI8-R CP1251 ISO-8859-5 IBM866 maccyr
     slovak: CP1250 ISO-8859-2 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
    slovene: ISO-8859-2 CP1250 IBM852 macce CORK
  ukrainian: CP1251 IBM855 ISO-8859-5 CP1125 KOI8-U maccyr
    chinese: GBK BIG5 HZ
       none:
$ enca -L russian art-design.php
Unrecognized encoding
$ enca -L none art-design.php   
Unrecognized encoding
$ file art-design.php
art-design.php: HTML document, ISO-8859 text
$ iconv -f ISO-8859 -t UTF-8 art-design.php
iconv: conversion from 'ISO-8859' is not supported
$ iconv -t UTF-8 art-design.php
.
.
.
<div id="footer_long">
                <hr size="1" />
                <p>iconv: illegal input sequence at position 2530
$ :set fenc?
fileencoding=latin1
$ :set ff?
fileformat=unix
maked0n
() автор топика
Ответ на: комментарий от maked0n

Остальные файлы переконвертировать можно так

:args **/*.php
:argdo set fenc=utf8 ff=unix | update
salsa
()

Суй в vimrc, жми F12

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""""""""""""""""""""""""""Настройка кодировок""""""""""""""""""""""""""""""""""
    set encoding=utf8
    set fileformat=unix    ""формат по умолчанию
    set termencoding=utf-8 ""системная кодировка
    set fileencodings=utf8,cp1251,koi8-r "последовательность перебора кодировок

 """""""""""""Сменить рабочую кодировку для файла"""""""""""""""""""""""""""
    set wildmenu
    set wcm=<Tab>
    menu Encoding.koi8-r  :e ++enc=koi8-r   <CR>
    menu Encoding.cp1251  :e ++enc=cp1251   <CR>
    menu Encoding.cp866   :e ++enc=cp866    <CR>
    menu Encoding.ucs-2le :e ++enc=ucs-2le  <CR>
    menu Encoding.utf-8   :e ++enc=utf-8    <CR>
    map <F12> :emenu Encoding.<Tab>
Dron ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.