LookupError: unknown encoding in Python

In Python, multiple errors are generated while dealing with variables, functions, and modules in a program. These errors include ImportError, TypeError, NameError, IndexError, etc. Python also causes “LookupError” when unsupported encoding is done in the program. To resolve this error, there are several supported encodings provided by Python.

This Python article will provide a comprehensive guide on the “LookupError: unknown encoding” reason and solutions using the following aspects:

  • Encoding in Python
  • Reason: Specify Unsupported Encoding
  • Solution: Use Standard Encoding

So, let’s get started!

Encoding in Python

In Python, encoding is defined as the representation of a Unicode string as a string of bytes. Encoding is done when the data is transferred over the network. Data is encoded while saving the file on a disk, such as writing data to a “txt” file in Python requires encoding. We can only use those standard encodings that are supported by Python. The list of supported encoding by Python is given below in the official documentation:

List of Standard Encoding by Python

Reason: Specify Unsupported Encoding

The main reason invokes the “LookupError: unknown encoding” is when the user specified unsupported encoding in a function. An example of this error is shown in the following snippet:

The above output shows “LookupError: unknown encoding: example” because the specified encoding is not supported by Python.

Solution: Use Standard Encoding

To resolve this error, we specify the encoding supported by Python, such as “utf-8” encoding. Over a million useful Unicode character code points can be encoded with the “utf-8” encoding. The code and output using standard encoding are shown in the below snippet:

Code:

with open('itslinuxfoss.txt', 'w', encoding='utf-8') as f:
   
    f.write('Python' + '\n')
    f.write('Guide' + '\n')
    f.write('Available on' + '\n')
    f.write('itslinuxfoss' + '\n')

In the above code, the “open()” function is used to open the “itslinuxfoss” text file in “writing” mode. The standard encoding “utf-8” is specified inside the “open()” function. The “write()” function is used multiple times to write the file name

Output:

The above output shows the text file having multiple lines written using the “write()” function.

Conclusion

The “LookupError: unknown encoding” occurs in Python programs when a user tries to specify the unsupported encoding in a function. To fix this issue, use Python-supported encoding in a program. Some normally used encodings are utf-8, utf-32, ASCII, Latin-1, etc. This Python article discussed the reason and solution of “LookupError: unknown encoding” using an example.