Заметки за сентябрь 2012 года

Экранирование русских символов

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

<script src="my-cool-app.js" charset="windows-1251">

Если заранее экранировать такие символы, то в дальнейшем уже будет неважно в какой кодировке «сервируется» ваш файл.

Mathias Bynens описал различные варианты экранирования и даже сделал утилиту, которая может экранировать так, чтобы результирующая строка была наименьшей длинны.

Я расскажу очень быстрый способ получить экранированную строку прямо в консоли браузера.

escape("Привет").replace(/%(u[0-9a-f]{4})/ig, "\\$1")

В результате получим экранированную строку:

"\u041F\u0440\u0438\u0432\u0435\u0442"

У этого метода есть один недостаток: символы с кодом меньше 128 нужно обрабатывать отдельным регэкспом.


escape("Hello!").replace(/%([0-9a-f]{2})/ig, "\\x$1")
Комментарии к заметке: 2

Изменение регистра букв в названиях файлов в Git

При работе с Git в Windows есть неприятная проблема: если в имени файла неправильно были указаны заглавные и строчные буквы, то после простого переименования файла git status не покажет изменений. Это связано с тем, что ни FAT32, ни NTFS не учитывает регистр букв.

Если такая ситуация всё же возникла, то переименовать файл можно средствами Git:

git mv filename.txt FileName.txt –f

Ключ -f как раз нужен для того, чтобы принудительно внести изменения, так как с точки зрения файловой системы эти имена эквивалентны.

Обновление

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

Комментарии к заметке: 3