| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > очередная проблема с кодировкой |
| Автор: zebulun 8.10.2012, 13:02 | ||||||
всё у меня в utf8, данные получаю постом, кирилица возможна в трех полях : name, lastname и файл пользователя, поля name и lastname проверяются так:
файл пользователя не проверяется так и пишется в базу нормально, а вот при сохранении файла в папку, получается так: "Фото0831.jpg", причем если не ставить модификатор u в паттерне то поле проверку не проходит, все файлы сохранены в utf-8, кодировка определена в
и в .htaccess :
причем проблема возникает на денвере, на хостинге всё работает. |
| Автор: zebulun 9.10.2012, 09:28 |
| файловая система- windows, сохраняю с помощью ф-и imagejpeg |
| Автор: skyboy 9.10.2012, 10:01 |
NTFS или FAT32? " Windows" — это называется "операционной системой" |
| Автор: baldina 9.10.2012, 10:06 |
что-то новое)))) |
| Автор: zebulun 10.10.2012, 00:36 |
| NTFS, вы, типа такие умные сейчас определите из-за чего проблема, по файловой системе, да? если не знаете чем помочь в данном вопросе нечего отвечать вообще. |
| Автор: ksnk 10.10.2012, 07:23 |
| Ну, дык, надо с большой осторожностью пользоваться русским названиями файлов. Название приходит в utf-8, а для корректной работы, файловые операции в windows желают получать название файла в кодировке cp1251. Узнать, что находишься на сервере с windows можно, посмотрев на $_ENV["OS"] Получится что-то вроде `Windows_NT` А на хостинге точно все нормально с загруженными файлами с русскими названиями? И по ftp они нормально качаются туда-обратно? И ссылки на них с русскими буквами нормально в страницы вставляются? |
| Автор: skyboy 10.10.2012, 09:30 | ||
скорее всего. меня связка Linux → ext2 → unicode file names не подводила. думаешь, нечем нам заняться, сообщения строчим? это utf-8, который трактуется как cp1251. можешь попробовать с помощью iconv явно преобразовывать utf-8 → cp1251 но мне не нравится эта идея. |
| Автор: zebulun 10.10.2012, 09:57 | ||
| Да на хостинге все норм, и по ftp - качаются, вот посмотрите http://webmaster.webtm.ru/test/reg/?profile=118 вывел $_ENV в принципе я вообще решил отказаться от оригинальных названий загружаемых файлов, но возник еще один вопрос: я обрабатываю имена файлов так:
допустимо ли хранить и использовать файлы без расширения? |
| Автор: baldina 10.10.2012, 10:12 |
конечно. расширение это возможность и соглашение, оно необязательно |
| Автор: ksnk 10.10.2012, 10:24 |
Нету - значит не надо. На Windows машинах, начиная с win2000 (или даже с Win NT ;) )она ставится сама. Допустимо. Если при этом описание файла храниться в отдельной базе, и есть гарантия, что доступ к файлам будет только через сайт. Я в таком случае делал транслитерацию имени файла. Как-то оно проще было ковыряться в каталоге и видеть понятное, в принципе, название, а не маловразумительный хеш. |
| Автор: zebulun 10.10.2012, 10:39 | ||
а зачем мне там ковырятся? имена в базе, что еще надо? |