I am trying to export a table from pandas to a Microsoft SQL Server Express database.

Pandas reads a CSV file encodes as utf8. If I do df.head(), I can see that pandas shows the foreign characters correctly (they're Greek letters)

However, after exporting to SQL, those characters appear as combinations of question marks and zeros.

What am I doing wrong?

I can't find that to\_sql() has any option to set the encoding. I guess I must change the syntax when setting up the SQL engine, but how exactly?

This is what I have been trying:

```
import numpy as np
import pandas as pd
from sqlalchemy import create_engine, MetaData, Table, select
import sqlalchemy as sqlalchemy

ServerName = my_server_name
Database = my_database
params = '?driver=SQL+Server+Native+Client+11.0'
engine = create_engine('mssql+pyodbc://' + ServerName + '/'+ Database + params, encoding ='utf_8', fast_executemany=True )
connection = engine.raw_connection()
cursor = connection.cursor()

file_name = my_file_name

df = pd.read_csv(file_name, encoding='utf_8', na_values=['null','N/A','n/a', ' ','-']  , dtype = field_map, thousands =',' )

print(df[['City','Municipality']].head())  # This works

```