Yes, non-US citizens can open Charles Schwab accounts through Charles Schwab International, however that excludes Canadians. Further details can be found here to determine if you can open accounts through Charles Schwab.