It is my fervent hope that someone invents a better way of doing this.

Caveats and full writeup here:
http://stackoverflow.com/questions/3752913/grepping-binary-files-and-utf16/34232978#34232978


find -type f | while read l; do iconv -s -f utf-16le -t utf-8 "$l" | nl -s "$l: " | cut -c7- | grep 'somestring'; done