после basename пропадает "№"

kronos

Новичок
после basename пропадает "№"

PHP:
<?php
$path = "/sdfsdfsdfsdfsd/№2 Vesna.rar";
echo basename($path);
?>
На линуховом сервере (php 5.2.1) "№" пропадает(2 Vesna.rar), на винде 5.2.2 все ок. Как пофиксить?

-~{}~ 04.06.07 04:03:

Ну хоть подскажите чем можно этот basename заменить
 

kronos

Новичок
С регулярками туго, за последнюю ссылку спасибо. Тема закрыта.
 

Активист

Активист
Команда форума
Фиксится апгрейдом мозГа и выравниванием рук =)

PHP:
<?
// Setting up system locale
$locales   = array("ru_RU.CP1251", "ru_RU.cp1251", "ru_RU", "RU", "Russian_Russia.1251", "rus_RUS.1251");
$localeSet = false;
foreach ($locales as $localeName) {
	if ((bool)$localeSet === false) {
		// setting up locase
		setlocale(LC_ALL, $localeName);
	}
	// check locale
	if ((bool)$localeSet === false && strtolower("qwertyабвЯДQWERTYZ") == "qwertyабвядqwertyz") {
		// locale setup correctly
		$localeSet = true;
	}
}
if ((bool)$localeSet !== true) {
	// exiting now
	echo "Can't set up server locale to cp1251 character set at ".__FILE__." on ".__LINE__;
	exit();
}

$path_parts = pathinfo("C:/dir/bla/№1 Лучшая песенка.mp3");
echo $path_parts['basename']."<br>";
echo basename("C:/dir/bla/№1 Лучшая песенка.mp3")."<br>";
echo phpversion()."<br>";
system("uname -a");
?>
Результат
Код:
№1 Лучшая песенка.mp3
№1 Лучшая песенка.mp3
5.2.0-10+lenny1
Linux colo.hc.ru 2.6.20.3 #1 SMP Mon Mar 19 14:21:00 MSK 2007 i686 GNU/Linux
-~{}~ 05.06.07 09:00:

ПС: когда научатся работая с кодировками, ставить нужную ей локаль?
 
Сверху