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

Reply via email to