Лучшая практика для замены неизвестных символов из неизвестных кодировок в именах файлов?

Загрузите iso-образ Ubuntu Server: https://www.ubuntu.com/download/server/thank-you?version=16.04.1&architecture=amd64 Загрузите UNetbooting: http: //launchpad.net/unetbootin/ trunk / 625 / + download / unetbootin-windows-625.exe, запустите его и создайте загрузочный USB-установщик, используя iso-образ Ubuntu Server. Ниже приведено руководство по использованию программного обеспечения UNetbooting: «www.htpcbeginner.com/install-ubuntu-server-from-usb/» После запуска загрузочного USB-установщика полное завершение работы UNetbooting и копирование изо-образа Ubuntu Server в корневой каталог USB-накопителя. Теперь установка должна работать без ошибки CD-ROM.
6
задан 11 February 2011 в 18:29

24 ответа

В теории может быть сложно узнать кодировку символов, используемую файлами, но в большинстве случаев ошибка возникает из систем Windows и программ, по-прежнему использующих только Latin1 вместо UTF-8. Запустите convmv -f cp850 -t utf-8 * без кавычек в папке с разбитыми файлами и попробуйте.

(вам нужно установить пакет convmv)

7
ответ дан 25 July 2018 в 22:30

Я полагаю, что современные ОС часто выбирают UTF-8 для кодирования имен файлов. В этом смысле не проблема иметь неамериканские символы в именах файлов. То, что вы испытали, вероятно, является результатом имени файла, который был создан с кодировкой, отличной от UTF-8. Трудно сказать, что вы можете с этим сделать, это также зависит от того, что вы хотите. Если вам нужно правильное имя файла (например, «Porträt.pdf»), вам сначала нужно знать кодировку исходного имени файла, затем вы можете преобразовать его / их. Не так просто «угадать» только потому, что существует огромное количество очень разных кодировок.

0
ответ дан 25 July 2018 в 22:30
  • 1
    кажется, немного сложнее. есть инструменты, такие как iconv convmv, чтобы конвертировать имена файлов из одной кодировки в другую. Но здесь лучше всего знать кодировку происхождения. Одним из способов может быть convmv имя файла для utf8, а затем работать над переименованием с помощью инструмента, такого как pyRenamer, поскольку он предлагает возможность скопировать вставку определенного символа и создать правило для его замены. но я бы не назвал эту лучшую практику. во всяком случае, большой недостаток заключается в том, что не существует очень надежной практики, не подверженной ошибкам, для определения кодировки исходного файла. – NES 11 February 2011 в 19:40
  • 2
    Ну, в основном я хотел сказать это с моим ответом. & quot; Наилучшая практика & quot; в любом случае сложно определить в таком случае, когда вам не хватает информации: кодировка символов. Что я могу себе представить: если у вас есть эти файлы из «того же места», вы можете хотя бы предположить, что кодировка символов одинакова. Я бы попробовал список каталогов в файл и проверял результат некоторого запуска iconv (например) с другой кодировкой. Тем не менее, это довольно «попробуйте ...». алгоритм, и у меня есть идея, что вы не можете найти очень точное, научное решение для этой проблемы ... :( – LGB 12 February 2011 в 01:12

Если вы просто хотите избавиться от некоторых символов, вы можете попробовать следующее:

rename "s/[^A-Za-z0-9-_]/_/g"

Это заменит каждый символ, который не является только символом, числом или тире с подчеркиванием. Запустите с опцией -n, чтобы увидеть, что происходит в сухом режиме.

1
ответ дан 25 July 2018 в 22:30

В теории может быть сложно узнать кодировку символов, используемую файлами, но в большинстве случаев ошибка возникает из систем Windows и программ, по-прежнему использующих только Latin1 вместо UTF-8. Запустите convmv -f cp850 -t utf-8 * без кавычек в папке с разбитыми файлами и попробуйте.

(вам нужно установить пакет convmv)

7
ответ дан 26 July 2018 в 22:01

Я полагаю, что современные ОС часто выбирают UTF-8 для кодирования имен файлов. В этом смысле не проблема иметь неамериканские символы в именах файлов. То, что вы испытали, вероятно, является результатом имени файла, который был создан с кодировкой, отличной от UTF-8. Трудно сказать, что вы можете с этим сделать, это также зависит от того, что вы хотите. Если вам нужно правильное имя файла (например, «Porträt.pdf»), вам сначала нужно знать кодировку исходного имени файла, затем вы можете преобразовать его / их. Не так просто «угадать» только потому, что существует огромное количество очень разных кодировок.

0
ответ дан 26 July 2018 в 22:01
  • 1
    кажется, немного сложнее. есть инструменты, такие как iconv convmv, чтобы конвертировать имена файлов из одной кодировки в другую. Но здесь лучше всего знать кодировку происхождения. Одним из способов может быть convmv имя файла для utf8, а затем работать над переименованием с помощью инструмента, такого как pyRenamer, поскольку он предлагает возможность скопировать вставку определенного символа и создать правило для его замены. но я бы не назвал эту лучшую практику. во всяком случае, большой недостаток заключается в том, что не существует очень надежной практики, не подверженной ошибкам, для определения кодировки исходного файла. – NES 11 February 2011 в 19:40
  • 2
    Ну, в основном я хотел сказать это с моим ответом. & quot; Наилучшая практика & quot; в любом случае сложно определить в таком случае, когда вам не хватает информации: кодировка символов. Что я могу себе представить: если у вас есть эти файлы из «того же места», вы можете хотя бы предположить, что кодировка символов одинакова. Я бы попробовал список каталогов в файл и проверял результат некоторого запуска iconv (например) с другой кодировкой. Тем не менее, это довольно «попробуйте ...». алгоритм, и у меня есть идея, что вы не можете найти очень точное, научное решение для этой проблемы ... :( – LGB 12 February 2011 в 01:12

Если вы просто хотите избавиться от некоторых символов, вы можете попробовать следующее:

  rename "s / [^ A-Za-z0-9 -_] / _ / g"   

Это заменит каждый символ, который не является символом, числом или тире с подчеркиванием. Запустите с опцией -n , чтобы увидеть, что происходит в сухом режиме.

1
ответ дан 26 July 2018 в 22:01

В теории может быть сложно узнать кодировку символов, используемую файлами, но в большинстве случаев ошибка возникает из систем Windows и программ, по-прежнему использующих только Latin1 вместо UTF-8. Запустите convmv -f cp850 -t utf-8 * без кавычек в папке с разбитыми файлами и попробуйте.

(вам нужно установить пакет convmv)

7
ответ дан 2 August 2018 в 03:56

Я полагаю, что современные ОС часто выбирают UTF-8 для кодирования имен файлов. В этом смысле не проблема иметь неамериканские символы в именах файлов. То, что вы испытали, вероятно, является результатом имени файла, который был создан с кодировкой, отличной от UTF-8. Трудно сказать, что вы можете с этим сделать, это также зависит от того, что вы хотите. Если вам нужно правильное имя файла (например, «Porträt.pdf»), вам сначала нужно знать кодировку исходного имени файла, затем вы можете преобразовать его / их. Не так просто «угадать» только потому, что существует огромное количество очень разных кодировок.

0
ответ дан 2 August 2018 в 03:56
  • 1
    кажется, немного сложнее. есть инструменты, такие как iconv convmv, чтобы конвертировать имена файлов из одной кодировки в другую. Но здесь лучше всего знать кодировку происхождения. Одним из способов может быть convmv имя файла для utf8, а затем работать над переименованием с помощью инструмента, такого как pyRenamer, поскольку он предлагает возможность скопировать вставку определенного символа и создать правило для его замены. но я бы не назвал эту лучшую практику. во всяком случае, большой недостаток заключается в том, что не существует очень надежной практики, не подверженной ошибкам, для определения кодировки исходного файла. – NES 11 February 2011 в 19:40
  • 2
    Ну, в основном я хотел сказать это с моим ответом. & quot; Наилучшая практика & quot; в любом случае сложно определить в таком случае, когда вам не хватает информации: кодировка символов. Что я могу себе представить: если у вас есть эти файлы из «того же места», вы можете хотя бы предположить, что кодировка символов одинакова. Я бы попробовал список каталогов в файл и проверял результат некоторого запуска iconv (например) с другой кодировкой. Тем не менее, это довольно «попробуйте ...». алгоритм, и у меня есть идея, что вы не можете найти очень точное, научное решение для этой проблемы ... :( – LGB 12 February 2011 в 01:12

Если вы просто хотите избавиться от некоторых символов, вы можете попробовать следующее:

rename "s/[^A-Za-z0-9-_]/_/g"

Это заменит каждый символ, который не является только символом, числом или тире с подчеркиванием. Запустите с опцией -n, чтобы увидеть, что происходит в сухом режиме.

1
ответ дан 2 August 2018 в 03:56

Если вы просто хотите избавиться от некоторых символов, вы можете попробовать следующее:

  rename "s / [^ A-Za-z0-9 -_] / _ / g"   

Это заменит каждый символ, который не является символом, числом или тире с подчеркиванием. Запустите с опцией -n , чтобы увидеть, что происходит в сухом режиме.

1
ответ дан 4 August 2018 в 19:59

Я полагаю, что современные ОС часто выбирают UTF-8 для кодирования имен файлов. В этом смысле не проблема иметь неамериканские символы в именах файлов. То, что вы испытали, вероятно, является результатом имени файла, который был создан с кодировкой, отличной от UTF-8. Трудно сказать, что вы можете с этим сделать, это также зависит от того, что вы хотите. Если вам нужно правильное имя файла (например, «Porträt.pdf»), вам сначала нужно знать кодировку исходного имени файла, затем вы можете преобразовать его / их. Не так просто «угадать» только потому, что существует огромное количество очень разных кодировок.

0
ответ дан 4 August 2018 в 19:59

В теории может быть сложно узнать кодировку символов, используемую файлами, но в большинстве случаев ошибка возникает из систем Windows и программ, которые все еще используют только Latin1 вместо UTF-8. Запустите convmv -f cp850 -t utf-8 * без кавычек в папке с разбитыми файлами и попробуйте.

(Вам нужно convmv установленный пакет)

7
ответ дан 4 August 2018 в 19:59

Если вы просто хотите избавиться от некоторых символов, вы можете попробовать следующее:

  rename "s / [^ A-Za-z0-9 -_] / _ / g"   

Это заменит каждый символ, который не является символом, числом или тире с подчеркиванием. Запустите с опцией -n , чтобы увидеть, что происходит в сухом режиме.

1
ответ дан 6 August 2018 в 04:01

В теории может быть сложно узнать кодировку символов, используемую файлами, но в большинстве случаев ошибка возникает из систем Windows и программ, которые все еще используют только Latin1 вместо UTF-8. Запустите convmv -f cp850 -t utf-8 * без кавычек в папке с разбитыми файлами и попробуйте.

(Вам нужно convmv установленный пакет)

7
ответ дан 6 August 2018 в 04:01

Я полагаю, что современные ОС часто выбирают UTF-8 для кодирования имен файлов. В этом смысле не проблема иметь неамериканские символы в именах файлов. То, что вы испытали, вероятно, является результатом имени файла, который был создан с кодировкой, отличной от UTF-8. Трудно сказать, что вы можете с этим сделать, это также зависит от того, что вы хотите. Если вам нужно правильное имя файла (например, «Porträt.pdf»), вам сначала нужно знать кодировку исходного имени файла, затем вы можете преобразовать его / их. Не так просто «угадать» только потому, что существует огромное количество очень разных кодировок.

0
ответ дан 6 August 2018 в 04:01

Я полагаю, что современные ОС часто выбирают UTF-8 для кодирования имен файлов. В этом смысле не проблема иметь неамериканские символы в именах файлов. То, что вы испытали, вероятно, является результатом имени файла, который был создан с кодировкой, отличной от UTF-8. Трудно сказать, что вы можете с этим сделать, это также зависит от того, что вы хотите. Если вам нужно правильное имя файла (например, «Porträt.pdf»), вам сначала нужно знать кодировку исходного имени файла, затем вы можете преобразовать его / их. Не так просто «угадать» только потому, что существует огромное количество очень разных кодировок.

0
ответ дан 7 August 2018 в 22:00

Если вы просто хотите избавиться от некоторых символов, вы можете попробовать следующее:

  rename "s / [^ A-Za-z0-9 -_] / _ / g"   

Это заменит каждый символ, который не является символом, числом или тире с подчеркиванием. Запустите с опцией -n , чтобы увидеть, что происходит в сухом режиме.

1
ответ дан 7 August 2018 в 22:00

В теории может быть сложно узнать кодировку символов, используемую файлами, но в большинстве случаев ошибка возникает из систем Windows и программ, которые все еще используют только Latin1 вместо UTF-8. Запустите convmv -f cp850 -t utf-8 * без кавычек в папке с разбитыми файлами и попробуйте.

(Вам нужно convmv установленный пакет)

7
ответ дан 7 August 2018 в 22:00

Если вы просто хотите избавиться от некоторых символов, вы можете попробовать следующее:

  rename "s / [^ A-Za-z0-9 -_] / _ / g"   

Это заменит каждый символ, который не является символом, числом или тире с подчеркиванием. Запустите с опцией -n , чтобы увидеть, что происходит в сухом режиме.

1
ответ дан 10 August 2018 в 10:14

В теории может быть сложно узнать кодировку символов, используемую файлами, но в большинстве случаев ошибка возникает из систем Windows и программ, которые все еще используют только Latin1 вместо UTF-8. Запустите convmv -f cp850 -t utf-8 * без кавычек в папке с разбитыми файлами и попробуйте.

(Вам нужно convmv установленный пакет)

7
ответ дан 10 August 2018 в 10:14

Я полагаю, что современные ОС часто выбирают UTF-8 для кодирования имен файлов. В этом смысле не проблема иметь неамериканские символы в именах файлов. То, что вы испытали, вероятно, является результатом имени файла, который был создан с кодировкой, отличной от UTF-8. Трудно сказать, что вы можете с этим сделать, это также зависит от того, что вы хотите. Если вам нужно правильное имя файла (например, «Porträt.pdf»), вам сначала нужно знать кодировку исходного имени файла, затем вы можете преобразовать его / их. Не так просто «угадать» только потому, что существует огромное количество очень разных кодировок.

0
ответ дан 10 August 2018 в 10:14

Я полагаю, что современные ОС часто выбирают UTF-8 для кодирования имен файлов. В этом смысле не проблема иметь неамериканские символы в именах файлов. То, что вы испытали, вероятно, является результатом имени файла, который был создан с кодировкой, отличной от UTF-8. Трудно сказать, что вы можете с этим сделать, это также зависит от того, что вы хотите. Если вам нужно правильное имя файла (например, «Porträt.pdf»), вам сначала нужно знать кодировку исходного имени файла, затем вы можете преобразовать его / их. Не так просто «угадать» только потому, что существует огромное количество очень разных кодировок.

0
ответ дан 13 August 2018 в 16:37
  • 1
    кажется, немного сложнее. есть инструменты, такие как iconv convmv, чтобы конвертировать имена файлов из одной кодировки в другую. Но здесь лучше всего знать кодировку происхождения. Одним из способов может быть convmv имя файла для utf8, а затем работать над переименованием с помощью инструмента, такого как pyRenamer, поскольку он предлагает возможность скопировать вставку определенного символа и создать правило для его замены. но я бы не назвал эту лучшую практику. во всяком случае, большой недостаток заключается в том, что не существует очень надежной практики, не подверженной ошибкам, для определения кодировки исходного файла. – NES 11 February 2011 в 19:40
  • 2
    Ну, в основном я хотел сказать это с моим ответом. & quot; Наилучшая практика & quot; в любом случае сложно определить в таком случае, когда вам не хватает информации: кодировка символов. Что я могу себе представить: если у вас есть эти файлы из «того же места», вы можете хотя бы предположить, что кодировка символов одинакова. Я бы попробовал список каталогов в файл и проверял результат некоторого запуска iconv (например) с другой кодировкой. Тем не менее, это довольно «попробуйте ...». алгоритм, и у меня есть идея, что вы не можете найти очень точное, научное решение для этой проблемы ... :( – LGB 12 February 2011 в 01:12

Если вы просто хотите избавиться от некоторых символов, вы можете попробовать следующее:

  rename "s / [^ A-Za-z0-9 -_] / _ / g"   

Это заменит каждый символ, который не является символом, числом или тире с подчеркиванием. Запустите с опцией -n , чтобы увидеть, что происходит в сухом режиме.

1
ответ дан 13 August 2018 в 16:37

В теории может быть сложно узнать кодировку символов, используемую файлами, но в большинстве случаев ошибка возникает из систем Windows и программ, которые все еще используют только Latin1 вместо UTF-8. Запустите convmv -f cp850 -t utf-8 * без кавычек в папке с разбитыми файлами и попробуйте.

(Вам нужно convmv установленный пакет)

7
ответ дан 13 August 2018 в 16:37

Другие вопросы по тегам:

Похожие вопросы: