$songname = "$songname ($artist)";
}
+ # Some HTML -> UTF-8 stuff
+ $songname =~ s/♥/\xe2\x9d\xa4/g;
+ $songname =~ s/∀/\xe2\x88\x80/g;
+ $songname =~ s/CANDY★/CANDY\xe2\x98\x86/g; # white star, not black
+ $songname =~ s/★/\xe2\x98\x85/g;
+ $songname =~ s/é/\xc3\xa9/g;
+ $songname =~ s/<sup>2<\/sup>/\xc2\xb2/g;
+
# minimal SQL escaping
$songname =~ s/'/\\'/g;
$artist =~ s/'/\\'/g;
# Insert the song only if it doesn't already exist
- printf "INSERT INTO songs SELECT nextval('songs_song_seq') AS song, '%s' AS title, '%s' AS artist, 0 AS minbpm, 0 AS maxbpm WHERE '%s' NOT IN ( SELECT title FROM songs );\n",
+ printf "INSERT INTO songs SELECT nextval('songs_song_seq') AS song, '%s' AS title, '%s' AS artist, 0 AS minbpm, 0 AS maxbpm WHERE LOWER('%s') NOT IN ( SELECT LOWER(title) FROM songs );\n",
$songname, $artist, $songname;
- printf "INSERT INTO machinesongs SELECT ( SELECT song FROM songs WHERE title='%s' ), ( SELECT machine FROM machines WHERE machinename='%s' );\n",
+ printf "INSERT INTO machinesongs SELECT ( SELECT song FROM songs WHERE LOWER(title)=LOWER('%s') ), ( SELECT machine FROM machines WHERE machinename='%s' );\n",
$songname, $machine;
for my $t (['single', 'beginner', $sb],
['double', 'expert', $de],
['double', 'challenge', $dc]) {
next if (!defined($t->[2]) || $t->[2] eq '');
- printf "INSERT INTO songratings (song,machine,playmode,difficulty,feetrating) VALUES ((SELECT song FROM songs WHERE title='%s'),(SELECT machine FROM machines WHERE machinename='%s'),'%s','%s',%u);\n",
+ printf "INSERT INTO songratings (song,machine,playmode,difficulty,feetrating) VALUES ((SELECT song FROM songs WHERE LOWER(title)=LOWER('%s')),(SELECT machine FROM machines WHERE machinename='%s'),'%s','%s',%u);\n",
$songname, $machine, $t->[0], $t->[1], $t->[2];
}
}