Update (February 2019): This appears to no longer be an issue with pyodbc, at least under Python_3. pyodbc 4.0.25 creates the table with the correct column name.
(Original answer)
I was able to reproduce your issue using pyodbc, even when specifying utf-8
as my source encoding.
However, I did get the correct result using pymssql:
# -*- coding: utf-8 -*-
import pymssql
cnxn = pymssql.connect(
server='localhost',
port='52865',
user='sa',
password='whatever',
database='myDb',
autocommit=True)
crsr = cnxn.cursor()
sql = """\
CREATE TABLE tableName_fly (
[ID] INT IDENTITY PRIMARY KEY,
[Azimuth (°)] FLOAT
)
"""
crsr.execute(sql)
crsr.close()
cnxn.close()