Перейти к контенту
  • 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
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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