UTF8 символи в адреса и проблеми с ajax

Тези проблеми имат малко история за мен. Преди месец се сблъсках с тях, викайки ajax скриптове с адрес, съдържащ не само аглийски символи – от българската азбука например. Написах си javascript функция, коятовсъщност беше една малка бъркотия, която все пак се справяше с проблема, използвайки encodeURIComponent. След това открих, че просто мога да използвам urlencode в php, което си беше по-добрият вариянт в този момент. Изглеждаше ми доста по чисто и аз пренаписах функционалността. Е познайте какво – IE 6 проблеми. Няма значение, че изходът от javascript функцията encodeURIComponent и php функцията urlencode изглеждаха еднакви! Трябваше да върна обратно, това което бях пренаписал, но реших да подобря въпросната javascript функция и така реших да я споделя с вас, тъй като изглежда това иначе просто решение ще работи с всякакъв  инпут … Ето я и нея:

function encodeUTF8URIComponent(str)
{
	str = str.replace(
		new RegExp( "[^a-zA-Z\/-:_]", "g" ),
		function($0)
		{
			return encodeURIComponent($0);
		}
	);

	return str;
}

Прочети статията на: English

  1. Все още няма коментари.

  1. Все още няма нито един trackback.