The g character in 's/^/o/g' means "replace each occurrence in the current line". Otherwise it would replace only the first occurrence of each line.
In the particular case where the regexp begins with the caret ^, which means "the regexp should match the beginning of the line", it makes no sense to use the g option.
On my mac, I get the following:
% echo 'ø\nø' | sed -e 's/^/o/g'
sed: RE error: illegal byte sequence
% echo 'ø\nø' | sed -e 's/^/o/'
oø
oø
Topic:
App & System Services
SubTopic:
Core OS
Tags: