When you are doing this directly in the cron entry:
. $HOME/.bashrc
you are actually asking the user cron to set its environment and most likely it has no Locale defined.
You should set your environment in your script directly just after setting the bash directive:
#!/bin/bash
. $HOME/.bashrc
echo Hello World
It would be better if you configure .bash_profile
to load .profile
and then load .bashrc