2013-08-14 2 views
1

Давайте возьмем этот простой HTML:Unicode символы в URL PARAM из встроенного проигрывателя Windows Media

<html> 
<body> 
<!-- Object Tag For the Audio Player --> 
<object id="mpAudio" width="100%" height="100%" 
    classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" 
    type="application/x-oleobject" align="middle"> 
     <param name="URL" value="http://servername/media/Alt.TÉst/default.wav" /> 
     <param name="AutoStart" value="True" /> 
     <param name="UIMode" value="Full" /> 
     <param name="EnableContextMenu" value="True" /> 
     <param name="WindowlessVideo" value="True" /> 
     <param name="Mute" value="False" /> 
</object> 
</html> 

Обратите внимание на URL есть этот юникода характер: É

Когда я открываю этот HTML-файл, то звук играет как искаженный беспорядок. Следует отметить, что в некоторых старых VM у меня (для случайного тестирования IE6), у которого есть O/S 2003 Standard Edition, браузер IE 6 и проигрыватель Windows Media 6.4.09.1130 .. он работает, отлично! Мое тестирование, где это искаженный беспорядок, включает в себя Windows 7, IE 10 и WMP 12.0.7601.17514

Я думал, что решение может быть%, кодирующим URL. Это еще хуже. Кодирование стало следующим: http% 3A% 2F% 2Fservername% 2Fmedia% 2FAlt.T% C3% 89st% 2Fdefault.wav

И я по крайней мере смог поиграть в искаженный беспорядок, чтобы вообще ничего не играть.

Еще один тест:

Принимая не кодированного URL и поместив его в Firefox, открывает WAV (так Firefox ОК с юникод символа). Принимая закодированный url, я получаю «сервер не найден». Думаю, я не знаю, как кодировать!

Запрет на удаление юникода для ввода данных (эти URL-адреса генерируются из имени пользователя, где в некоторых локалях разрешены символы Unicode в имени), как это сделать?

Спасибо.

ответ

1

Я думал, что решение может быть% encoding URL. Это еще хуже. Закодировать стали: HTTP% 3A% 2F% 2Fservername% 2Fmedia% 2FAlt.T% C3% 89st% 2Fdefault.wav

Раствор должен быть компонентов пути в URL-кодирования, а не весь URL. Вы хотите, чтобы в конечном итоге с:

http://servername/media/Alt.T%C3%89st/default.wav 

Хотя, я бы ожидал, что дело не в состоянии получить 404 и просто не играть ничего-искаженный звук странный результат. Может быть, другая проблема?

+0

Сын пистолет. Я уверен, что попробовал это, прежде чем публиковать здесь. Я взял URL-адрес, который был закодирован для меня через один из этих случайных сайтов, которые я искал Google, и удалил все кодировки, за исключением É. Я знаю, что знаю! Я думаю, мой ум играет на меня. Большое спасибо! – JustLooking

+0

И звук в порядке, я с вами, я ожидал чего-то другого, кроме искаженного звука. Это одно изменение, которое я сделал (основанный на вашем совете), сделал трюк. – JustLooking

 Смежные вопросы

  • Нет связанных вопросов^_^