Hi ! I cannot resolve the following problem : My server has his locale set to fr-FR.utf8. I have a simple php script named next_song.php that return a song filename.
---------------------------------------------------------- <?php header('Content-type: text/html; charset=utf-8'); echo urlencode('/var/lib/mpd/music/01 - Canopée.mp3'); ?> ---------------------------------------------------------- My liquidsoap script : ------------------------------------------------------------------------------------------------------ def next_song() = result = get_process_lines("php -q /var/www/html/services/nextsong.php") log("liquidsoap php returns #{result}") result2 = list.hd(result) log("liquidsoap php list hd returns #{result2}") result3 = url.decode(result2) log("liquidsoap returns #{result3}") request.create(result3) end def my_safe(s) = security = sine() fallback(track_sensitive=false,[s,security]) end radio = request.dynamic(next_song) radio = my_safe(radio) output.icecast(%vorbis, host = "localhost", port = 8000, icecastsource", mount = "radio.ogg", radio) ------------------------------------------------------------------------------------------------------ And when i start liquidsoap service i have the following log file : 2017/09/24 11:11:51 >>> LOG START 2017/09/24 11:11:51 [protocols.external:3] Found "/usr/bin/wget". 2017/09/24 11:11:51 [main:3] Liquidsoap 1.1.1 2017/09/24 11:11:51 [main:3] Using: graphics=[distributed with Ocaml] pcre=7.0.4 dtools=0.3.1 duppy=0.5.1 duppy.syntax=0.5.1 cry=0.2.2 mm=0.2.1 xmlplaylist=0.1.3 lastfm=0.3.0 ogg=0.4.5 vorbis=0.6.1 opus=0.1.0 speex=0.2.0 mad=0.4.4 flac=0.1.1 flac.ogg=0.1.1 dynlink=[distributed with Ocaml] lame=0.3.2 shine=0.2.0 gstreamer=0.2.0 frei0r=0.1.0 voaacenc=0.1.0 theora=0.3.0 schroedinger=0.1.0 gavl=0.1.5 bjack=0.1.4 alsa=0.2.1 ao=0.2.0 samplerate=0.1.2 taglib=0.3.1 magic=0.7.3 camomile=0.8.4 inotify=1.0 faad=0.3.2 soundtouch=0.1.7 portaudio=0.2.0 pulseaudio=0.1.2 ladspa=0.1.4 dssi=0.1.1 sdl=0.9.1 camlimages=4.2.0 lo=0.1.0 yojson=1.2.3 gd=1.0a5 2017/09/24 11:11:51 [dynamic.loader:3] Could not find dynamic module for fdkaac encoder. 2017/09/24 11:11:51 [dynamic.loader:3] Could not find dynamic module for aacplus encoder. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/pulseaudio.cmxs. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/voaacenc.cmxs. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/cry.cmxs. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/faad.cmxs. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/ogg.cmxs. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/flac.cmxs. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/lame.cmxs. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/mad.cmxs. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/vorbis.cmxs. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/flac_ogg.cmxs. 2017/09/24 11:11:51 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.1.1/plugins/taglib.cmxs. 2017/09/24 11:11:51 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master. 2017/09/24 11:11:51 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples. 2017/09/24 11:11:51 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks. 2017/09/24 11:11:51 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks. 2017/09/24 11:11:51 [lang:3] liquidsoap starting 2017/09/24 11:11:51 [video.converter:4] Couldn't find preferred video converter: gavl. 2017/09/24 11:11:51 [audio.converter:4] Couldn't find preferred samplerate converter: libsamplerate. 2017/09/24 11:11:51 [audio.converter:4] Using native samplerate converter 2017/09/24 11:11:51 [threads:3] Created thread "generic queue #1". 2017/09/24 11:11:51 [threads:3] Created thread "generic queue #2". 2017/09/24 11:11:51 [threads:3] Created thread "non-blocking queue #1". 2017/09/24 11:11:51 [threads:3] Created thread "non-blocking queue #2". 2017/09/24 11:11:51 [clock:4] Currently 1 clocks allocated. 2017/09/24 11:11:51 [clock.wallclock_main:4] Starting 1 sources... 2017/09/24 11:11:51 [source:4] Source output.icecast_4991 gets up. 2017/09/24 11:11:51 [source:4] Source fallback_4988 gets up. 2017/09/24 11:11:51 [source:4] Source on_metadata_4983 gets up. 2017/09/24 11:11:51 [on_metadata_4983:4] Content kind is {audio=2;video=0;midi=0}. 2017/09/24 11:11:51 [source:4] Source request.dynamic_4981 gets up. 2017/09/24 11:11:51 [request.dynamic_4981:4] Content kind is {audio=2;video=0;midi=0}. 2017/09/24 11:11:51 [request.dynamic_4981:4] Activations changed: static=[on_metadata_4983:fallback_4988:radio(dot)ogg:radio(dot)ogg], dynamic=[]. 2017/09/24 11:11:51 [on_metadata_4983:4] Activations changed: static=[], dynamic=[fallback_4988:radio(dot)ogg:radio(dot)ogg]. 2017/09/24 11:11:51 [source:4] Source sine_4987 gets up. 2017/09/24 11:11:51 [sine_4987:4] Content kind is {audio=2;video=0;midi=0}. 2017/09/24 11:11:51 [sine_4987:4] Activations changed: static=[], dynamic=[fallback_4988:radio(dot)ogg:radio(dot)ogg]. 2017/09/24 11:11:51 [fallback_4988:4] Activations changed: static=[radio(dot)ogg:radio(dot)ogg], dynamic=[]. 2017/09/24 11:11:51 [radio(dot)ogg:4] Activations changed: static=[radio(dot)ogg], dynamic=[]. 2017/09/24 11:11:51 [radio(dot)ogg:4] Enabling caching mode: active source. 2017/09/24 11:11:51 [radio(dot)ogg:3] Connecting mount radio.ogg for source@localhost... 2017/09/24 11:11:51 [radio(dot)ogg:3] Connection setup was successful. 2017/09/24 11:11:51 [threads:3] Created thread "wallclock_main" (1 total). 2017/09/24 11:11:51 [clock.wallclock_main:3] Streaming loop starts, synchronized with wallclock. 2017/09/24 11:11:51 [clock:4] Main phase starts. 2017/09/24 11:11:51 [lang:3] liquidsoap php returns ["%2Fvar%2Flib%2Fmpd%2Fmusic%2F01+-+Canop%C3%A9e.mp3 "] 2017/09/24 11:11:51 [lang:3] liquidsoap php list hd returns %2Fvar%2Flib%2Fmpd%2Fmusic%2F01+-+Canop%C3%A9e.mp3 2017/09/24 11:11:51 [lang:3] liquidsoap returns /var/lib/mpd/music/01 - Canopée.mp3 2017/09/24 11:11:51 [request:3] Nonexistent file or ill-formed URI "/var/lib/mpd/music/01 - Canop\195\169e.mp3 "! 2017/09/24 11:11:51 [lang:3] liquidsoap php returns ["%2Fvar%2Flib%2Fmpd%2Fmusic%2F01+-+Canop%C3%A9e.mp3 "] 2017/09/24 11:11:51 [lang:3] liquidsoap php list hd returns %2Fvar%2Flib%2Fmpd%2Fmusic%2F01+-+Canop%C3%A9e.mp3 2017/09/24 11:11:51 [lang:3] liquidsoap returns /var/lib/mpd/music/01 - Canopée.mp3 2017/09/24 11:11:51 [request:3] Nonexistent file or ill-formed URI "/var/lib/mpd/music/01 - Canop\195\169e.mp3 "! 2017/09/24 11:11:51 [fallback_4988:3] Switch to sine_4987. 2017/09/24 11:11:51 [sine_4987:4] Activations changed: static=[fallback_4988:radio(dot)ogg:radio(dot)ogg], dynamic=[fallback_4988:radio(dot)ogg:radio(dot)ogg]. 2017/09/24 11:11:51 [ogg.muxer:4] radio(dot)ogg: Starting all streams 2017/09/24 11:11:51 [lang:3] liquidsoap php returns ["%2Fvar%2Flib%2Fmpd%2Fmusic%2F01+-+Canop%C3%A9e.mp3 "] 2017/09/24 11:11:51 [lang:3] liquidsoap php list hd returns %2Fvar%2Flib%2Fmpd%2Fmusic%2F01+-+Canop%C3%A9e.mp3 2017/09/24 11:11:51 [lang:3] liquidsoap returns /var/lib/mpd/music/01 - Canopée.mp3 2017/09/24 11:11:51 [request:3] Nonexistent file or ill-formed URI "/var/lib/mpd/music/01 - Canop\195\169e.mp3 "! How can i read song file with special characters ? Thanks Chris ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users