
Я добавил в свой файл .bib много новых ссылок, которые я получил из онлайн-порталов, таких как sciencedirect.com.
Я управляю своим файлом .bib с помощью JabRef 2.10
.
Мой файл bib был закодирован в latin1 (CP1252), поскольку он хорошо работал с моей настройкой Latex.
Нет, с новыми ссылками я больше не могу сохранить свой файл, так как кодировка CP1252 не может отображать следующие символы
Затем я попытался сохранить его в UTF8, что, конечно, сработало хорошо, но вызвало массу проблем с моей настройкой Latex: если я правильно понял, мне пришлось использовать его biber
в качестве biblatex
бэкэнда, и у меня возникли бесконечные проблемы с компиляцией, и в итоге я не смог получить рабочий PDF-файл. :-(
Я даже попытался изменить все свои файлы .tex на utf8, чтобы сопоставить их с файлами .bib, но все равно получаю ошибки с biber. (Одна идея: у меня есть некоторые поля «annotate» с очень большим количеством текста, что может вызвать проблемы.)
Итак, я хочу вернуть кодировку CP1252, но не знаю, как найти проблемные символы в моем файле .bib и заменить их на что-то, что может обработать CP1252.
Вопрос:
Как мне определить записи с проблемными символами и заменить их? Файл bibtex очень большой (тысячи записей), и я не вижу, как это решить, я уже потерял часы своего (очень короткого) времени и не вижу никакой надежды.
решение1
Спасибо @jon за подсказку:
Это можно сделать с biber
помощью следующей команды:
biber --tool --output_encoding=cp1252 mybib.bib
Сначала я получил сообщение об ошибке:
read_file '/var/folders/FX/FXr0KhAz2RWkK++BYv0W1++++TU/-Tmp-/par-6d626734/cache-a3cdad92316c60c9c5179d80d6bb51a7a024393c/inc/lib/Biber/biber-tool.conf' - sysopen: No such file or directory at /var/folders/FX/FXr0KhAz2RWkK++BYv0W1++++TU/-Tmp-/par-6d626734/cache-a3cdad92316c60c9c5179d80d6bb51a7a024393c/inc/lib/Biber/Config.pm line 341.
Решением было очистить кэш Biber:
rm -rf `biber --cache`