Вот начало решения, которое я сделал: у него есть некоторые ошибки. Я хочу добавить функцию для создания целых каталогов в листы спрайтов.
#!/bin/bash
#Convert animated gif to sprite sheet
#pass in animated gif get out png sprite sheet
convert $1 $1.png
convert `ls *.png` +append $1.png.result
rm *.png
mv $1.png.result $1.png
Это похоже на проблему с кодировкой. К сожалению, PHP нуждается в ручном хранении, когда дело доходит до кодировок, потому что по умолчанию его строки однобайтовые. Если вы создаете имя файла в PHP, utf8_encode() должно быть полезно; обратите внимание, однако, что он предполагает кодирование ISO-8859-1 для ввода.
С другой стороны, если вы используете имя файла, представленное клиентом, возможно, вы можете запросить клиенту кодирование для тебя. Это делается с атрибутом utf8_encode() тега <form> и / или путем установки кодировки страницы, на которой находится форма. Некоторые клиенты могут использовать один или другой, поэтому для достижения наилучших результатов используйте UTF-8 для каждого.
Это похоже на проблему с кодировкой. К сожалению, PHP нуждается в ручном хранении, когда дело доходит до кодировок, потому что по умолчанию его строки однобайтовые. Если вы создаете имя файла в PHP, utf8_encode() должно быть полезно; обратите внимание, однако, что он предполагает кодирование ISO-8859-1 для ввода.
С другой стороны, если вы используете имя файла, представленное клиентом, возможно, вы можете запросить клиенту кодирование для тебя. Это делается с атрибутом utf8_encode() тега <form> и / или путем установки кодировки страницы, на которой находится форма. Некоторые клиенты могут использовать один или другой, поэтому для достижения наилучших результатов используйте UTF-8 для каждого.
По умолчанию Ubuntu использует UTF-8 для имен файлов. Большинство современных Linux-дистрибутивов и многих других операционных систем делают это (Windows / NTFS - это самое известное исключение с UTF-16).
Чтобы исправить файлы с именами в неправильной кодировке, подобной той, которую вы показываете, вы может попытаться использовать nautilus-filename-repairer
sudo apt-get install nautilus-filename-repairer
Вы можете использовать функции PHP iconv для преобразования строк (имена файлов) с одной кодировки в другую. Конечно, это требует, чтобы вы знали, с какой кодировкой они начинаются.
Чтобы правильно кодировать имена файлов с клиента, вы можете попробовать технику, объясненную eswald.
По умолчанию Ubuntu использует UTF-8 для имен файлов. Большинство современных Linux-дистрибутивов и многих других операционных систем делают это (Windows / NTFS - это самое известное исключение с UTF-16).
Чтобы исправить файлы с именами в неправильной кодировке, подобной той, которую вы показываете, вы может попытаться использовать nautilus-filename-repairer
sudo apt-get install nautilus-filename-repairer
Вы можете использовать функции PHP iconv для преобразования строк (имена файлов) с одной кодировки в другую. Конечно, это требует, чтобы вы знали, с какой кодировкой они начинаются.
Чтобы правильно кодировать имена файлов с клиента, вы можете попробовать технику, объясненную eswald.