Перейти к контенту
  • 0

Кириллица в именах прикрепленных файлов


WildCat

Вопрос

Бегло просмотрел - не заметил решения. Оно вообще есть? А то не совсем красиво выглядит:

 

Прикрепленный файл ____________________________.mp3 ( 5.32 мегабайт ) Кол-во скачиваний: 9
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Может лучше транслитератор сделать?

 

	$ru = explode(" ","'; ь ъ ` , [ ] < > ? / - = \\ е ё ж ч ш ю я а б в г д з и й к л м н о п р с т у ф х ц щ ы э");
$en = explode(" ","amp tzt mkz tvz udr zpt lkv pkv mns bls vps sls min rav osl je jo zh ch sh ju ja a b v g d z i j k l m n o p r s t u f h c w y e");
for($i=0;$i<count($en);$i++)$FILE_NAME = str_replace($ru[$i],$en[$i],$FILE_NAME);
$FILE_NAME = preg_replace( "/[^a-zA-Z0-9-_\.]/", "", $FILE_NAME );

 

Как-то так...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
$FILE_NAME = preg_replace( "/[^\w\.А-Яа-я]/", "_", $FILE_NAME );

$FILE_NAME = preg_replace( "/[^\w\.А-ЯЁа-яё]/", "_", $FILE_NAME );

Кто больше, блин.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

к примеру, при имени "супердетка - пропаганда.mp3" на выходе имеем _________..._________.mp3

при "пропаганда.mp3" - просто _________.mp3

то бишь троеточие - это тире :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

хм, проверил у себя, нормально все) правда тире заменилось на нижнее подчеркивание, но это не критично.

может быть влияет какая-то настройка сервера?.. на этот вопрос ответят только гуру )))

Ссылка на комментарий
Поделиться на других сайтах

  • 0

попробовал отдельный скриптик:

[root@wh1 ~]# cat test2.php
<?php
	$FILE_NAME = "test ТЕСТ";
	$FILE_NAME = preg_replace( "/[^\w.]/", "_", $FILE_NAME );
	print $FILE_NAME;
?>

 

Результат:

[root@wh1 ~]# php test2.php
test_ТЕСТ

Т.е. скрипт отработал правильно, заменив пробел на _ и выведя русское слово.

Почему ж это не работает на форуме...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

У вас форум в юникоде, быть может? :D

Вы setlocale делаете в index.php?

(Независимые вопросы)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

1251

 

по поводу setlocale - это?

			default:
			if ( substr(PHP_OS, 0, 3) == 'WIN' )
			{
				setlocale(LC_ALL, 'Russian_Russia.1251');
			} else {
				setlocale(LC_ALL, 'ru_RU.CP1251');
			}

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Попробовал на 1.3final рецепт изложенный в постах 2 и 4. Стало правильно прописывать русские ЗАГЛАВНЫЕ буквы, но маленькие по-прежнему заменяются нижними прочерками.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Отличий в результате не последовало. :no:

Почему же русские маленькие не прописываются? Что не пускает?

Изменено пользователем autodiag
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.