Web Encoding Troubleshooter

Instantly diagnose and fix encoding errors like mojibake, broken characters, and double encoding in your web pages, emails, and databases. Paste your problematic text, select the suspected encoding, and see clear, actionable fixes—no data is saved or transmitted.

A developer using a code editor to troubleshoot mojibake and encoding problems on a website

Web encoding errors are among the most frustrating problems for developers, webmasters, and content managers. Garbled text (mojibake), question marks (�), or odd symbols like "é" instead of "é" can appear out of nowhere, breaking your site’s credibility and readability. These issues can stem from mismatched character sets (like UTF-8 vs ISO-8859-1), incorrect HTTP headers, database misconfigurations, or double-encoding mistakes.

Use this interactive troubleshooter to detect, diagnose, and fix encoding errors online. Our tool helps you quickly identify the root cause—whether it's a database storing text in the wrong encoding, a web page missing charset headers, or copy-pasted content from Microsoft Word introducing invisible problems. No uploads, no saving—everything runs in your browser for privacy and speed.

Interactive Encoding Troubleshooter Tool

How to use: Paste your problematic text below, select the source encoding you suspect the text is in, and click Convert. The tool will attempt to re-interpret the text in UTF-8 and highlight likely issues—plus suggest fixes for common encoding mistakes (like mojibake or double encoding).


Step-by-Step Guide: How to Diagnose & Fix Web Encoding Errors

  • Look for mojibake—garbled text like "François" instead of "François"
  • Question marks or replacement characters (�) in place of accents, symbols, or emoji
  • Broken punctuation, smart quotes, or foreign language text not displaying correctly
  • HTML entities showing as text (e.g., é instead of "é")

  • Open your site in the browser, right-click and select Inspect
  • Go to the Network tab, reload the page
  • Click your HTML file and check the Content-Type header (should include charset=UTF-8 for Unicode sites)
  • Missing or incorrect charset? Add <meta charset="UTF-8"> to your HTML head and set HTTP headers accordingly

  • Open files in an editor like VS Code, Sublime Text, or Notepad++
  • Check encoding (shown in status bar)—if not UTF-8, convert using Save As or conversion tools
  • Beware of hidden BOM (Byte Order Mark) or mixed encodings in legacy files

  • In MySQL, check SHOW VARIABLES LIKE 'character_set%'; and ensure tables/columns use utf8mb4
  • PostgreSQL: check SHOW SERVER_ENCODING;
  • When importing/exporting, always specify encoding (use --default-character-set=utf8mb4 for MySQL CLI)
  • Mixing encodings in DB and app code? Update everything to UTF-8 for consistency

  • Double encoding happens when text is encoded twice—e.g., "é" becomes &amp;eacute;
  • Fix by decoding entities once, then re-encoding properly in UTF-8
  • Check your app logic for repeated calls to htmlspecialchars() or similar functions

  • Use the tool above to check fixed text
  • Verify output in all target browsers and email clients
  • Paste multilingual and symbol-rich samples to confirm full Unicode support

Example Scenarios: Common Encoding Issues (Before & After)

Mojibake Example
Garbled output due to UTF-8 interpreted as ISO-8859-1:
Before:
François Düsseldorf
After (Fixed):
François Düsseldorf
What went wrong:
UTF-8 text was read as ISO-8859-1, causing accented characters to break.
Broken Emoji / Symbols
Non-UTF8 encoding loses symbols:
Before:
Good luck! ??
After (Fixed):
Good luck! 🍀
What went wrong:
Emoji not supported in legacy encoding (e.g., ASCII, ISO-8859-1).
Double Encoding (HTML Entities)
Entities encoded twice, showing as text, not characters:
Before:
&amp;eacute;  (shows as literally "&eacute;")
After (Fixed):
é
What went wrong:
Text was run through htmlspecialchars() or similar function more than once.
CSV Import Issue
Copy/paste from Excel or CSV file introduces encoding mismatch:
Before:
München
After (Fixed):
München
What went wrong:
CSV file saved in Windows-1252, read as UTF-8 in browser or database.

FAQ: Fixing Mojibake, Broken Characters & Encoding Errors

Check the Content-Type HTTP header (use browser dev tools, Network tab) and look for a <meta charset="..."> tag in the <head> of your HTML. For most web projects, use UTF-8 everywhere for maximum compatibility and correct display of all characters.

Microsoft Word, Excel, and some other editors use special encodings and smart punctuation. When pasted into a plain text area or saved as CSV, these can become garbled if not interpreted as Unicode (UTF-8). Always save as UTF-8 and paste into an editor that supports Unicode, or use this tool to repair the text.

UTF-8 is a universal Unicode encoding, supporting all languages and symbols. ISO-8859-1 (Latin-1) is a legacy encoding for Western European languages only, covering 256 characters. If you interpret UTF-8 text as ISO-8859-1, you’ll see mojibake or garbled characters. Always use UTF-8 for modern web projects.

Set your database tables and columns to utf8mb4 (MySQL) or UTF8 (Postgres). When importing/exporting, always specify encoding. If existing data is corrupted, export as binary, convert with iconv or a similar tool, and re-import, or use this tool for small fixes. Always back up before making changes.

Browsers may guess encoding if HTTP headers or HTML meta tags are missing or inconsistent. One browser might default to UTF-8, another to ISO-8859-1. Always declare encoding in both HTTP headers and HTML (<meta charset="UTF-8">) for consistency across browsers and devices.

Yes. Search engines may not index pages with broken characters, mojibake, or missing text. Encoding errors can reduce keyword visibility, hurt rankings, and decrease user trust. Always validate your pages for correct encoding before publishing.
More help: Visit Text Encoding Best Practices or Encoding Vulnerabilities Prevention for in-depth guides and advanced troubleshooting.