diff --git a/django/contrib/gis/geoip/prototypes.py b/django/contrib/gis/geoip/prototypes.py
index 3eae261..8d78386 100644
--- a/django/contrib/gis/geoip/prototypes.py
+++ b/django/contrib/gis/geoip/prototypes.py
@@ -23,6 +23,7 @@ class GeoIPRecord(Structure):
                 ('continent_code', c_char_p),
                 ]
 geoip_char_fields = [name for name, ctype in GeoIPRecord._fields_ if ctype is c_char_p]
+GEOIP_DEFAULT_ENCODING = 'iso-8859-1'
 geoip_encodings = {
     0: 'iso-8859-1',
     1: 'utf8',
@@ -100,7 +101,7 @@ def check_string(result, func, cargs):
         free(result)
     else:
         s = ''
-    return s.decode()
+    return s.decode(GEOIP_DEFAULT_ENCODING)
 
 GeoIP_database_info = lgeoip.GeoIP_database_info
 GeoIP_database_info.restype = geoip_char_p
@@ -111,7 +112,7 @@ GeoIP_database_info.errcheck = check_string
 def string_output(func):
     def _err_check(result, func, cargs):
         if result:
-            return result.decode()
+            return result.decode(GEOIP_DEFAULT_ENCODING)
         return result
     func.restype = c_char_p
     func.errcheck = _err_check
diff --git a/django/contrib/gis/geoip/tests.py b/django/contrib/gis/geoip/tests.py
index 8d7bdff..9631a19 100644
--- a/django/contrib/gis/geoip/tests.py
+++ b/django/contrib/gis/geoip/tests.py
@@ -119,3 +119,5 @@ class GeoIPTest(unittest.TestCase):
         g = GeoIP()
         d = g.city("www.osnabrueck.de")
         self.assertEqual('Osnabrück', d['city'])
+        d = g.country('200.7.49.81')
+        self.assertEqual('Curaçao', d['country_name'])
