Python 2: pandas.Series.eq() crashes with unicode data
#### Code Sample

```python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pandas as pd
weird_string = u"føøbår"
x = pd.DataFrame({"a" : [weird_string, "xx"]})
bool_series = (x["a"].eq(weird_string))
print(x[bool_series].to_string())
assert len(x[bool_series]) == 1
```

#### Problem description

The code snippet above crashes. This makes querying dataframes with non-ascii text quite difficult.

Exception
```
bug.py
    bool_series = (x["a"].eq(weird_string))
.env\lib\site-packages\pandas\core\ops.py:1728: in wrapper
    (is_extension_array_dtype(other) and not is_scalar(other))):
.env\lib\site-packages\pandas\core\dtypes\common.py:1749: in is_extension_array_dtype
    registry.find(dtype) is not None)
.env\lib\site-packages\pandas\core\dtypes\dtypes.py:89: in find
    return dtype_type.construct_from_string(dtype)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf8' in position 2: ordinal not in range(128)
```

I'm using pandas 0.24.1

#### Expected Output

No crash :)

#### Output of ``pd.show_versions()``

<details>
>>> pd.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 2.7.15.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 142 Stepping 10, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.24.1
pytest: 4.2.0
pip: 19.0.1
setuptools: 40.7.3
Cython: None
numpy: 1.15.4
scipy: 1.2.0
pyarrow: None
xarray: 0.11.3
IPython: None
sphinx: None
patsy: None
dateutil: 2.7.5
pytz: 2018.9
blosc: None
bottleneck: None
tables: 3.4.4
numexpr: 2.6.9
feather: None
matplotlib: 2.2.3
openpyxl: 2.5.14
xlrd: None
xlwt: None
xlsxwriter: None
lxml.etree: None
bs4: None
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: None
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: None

</details>
