Skip to content

Encoding (Vietnamese)

Convert text between Vietnamese encodings — UnicodeTCVN3VNI-WindowsVIQR.

Use case: open old Excel files (10-20 years old) that used TCVN3 / VNI where text shows as garbage characters → convert to Unicode to make them usable.

Open dialog

DVD Addin → group Text and Number → split-button Encoding (Aa icon).

Vietnamese encodings

Unicode (TCVN 6909:2001)

The international standard, natively supported by Windows / Office / web since the 2000s. Each Vietnamese character is one UTF-8/UTF-16 codepoint.

Example: à = U+00E0, = U+1EA5.

All new files should use Unicode. This is modern Excel's default.

TCVN3 (legacy 8-bit)

8-bit encoding developed before Unicode. Each character lives in the 128-255 range.

Bundled fonts: .VnTime, .VnArial, .VnTimeH, .VnArialH (note the leading dot).

If you open a TCVN3 file WITHOUT switching font → text appears random: "haø noäi" or "h¶ noíi".

VNI-Windows

Encoding from Vietnam International Inc. (VNI font maker). Uses 2 bytes per accented character.

Bundled fonts: VNI-Times, VNI-Arial, VNI-Helve.

TCVN3 and VNI text are NOT cross-compatible even though they look similar (both use 8-bit fonts).

VIQR (Vietnamese Quoted-Readable)

ASCII-safe encoding used for email/IRC before Unicode:

  • à = a
  • = a^'
  • = o+

Rarely used since 2010+. Some old files still have it.

How to use

Step 1 — Detect current encoding

DVD Addin → menu EncodingAuto-detect (if available).

Or recognize visually:

  • Cell font is .VnTime, .VnArial, ... → TCVN3.
  • Font is VNI-Times, VNI-Helve, ... → VNI.
  • Text is ASCII with ^, +, ', ? interspersed → VIQR.
  • Font is Calibri, Arial, Times New Roman + Vietnamese text correct → already Unicode.

Step 2 — Select the range to convert

Pick a single cell or a range.

Step 3 — Convert

The Encoding dropdown menu has these options:

CommandMeaning
TCVN3 → UnicodeOld .VnTime files converted to Unicode
VNI → UnicodeOld VNI-Times files converted to Unicode
VIQR → UnicodeOld email/IRC text to Unicode
Unicode → TCVN3(Rare) export to legacy font
Unicode → VNI(Rare)
Unicode → VIQR(Rare)
NFC ↔ NFD (Unicode normalization)Switch between precomposed (1 codepoint/char) and decomposed (base + combining marks)

Step 4 — Change font (when converting FROM Unicode TO TCVN3/VNI)

After converting to TCVN3 → switch cell font to .VnTime / .VnArial.

After converting to VNI → switch to VNI-Times / VNI-Helve.

For best results: if output is TCVN3 → switch font before converting, or use a macro to switch font per encoding.

NFC vs NFD (Unicode Normalization)

Some Mac/iOS files use NFD (decomposed): à = a + combining grave (2 codepoints). Windows/Office uses NFC (precomposed): à = à (1 codepoint).

When pasting from Mac to Excel Windows → text displays correctly but search/compare fails.

→ Run NFD → NFC to normalize.

Troubleshooting

Text still garbage after converting

  • Make sure you picked the CORRECT direction (TCVN3→Unicode, not Unicode→TCVN3).
  • If the original was VNI but you ran TCVN3→Unicode → still garbage. You must know the source encoding.

Some characters dropped

  • The legacy encoding doesn't include that character (e.g. in TCVN3 is sometimes substituted with ô).
  • Minor loss — accept or fix manually for the affected cells.

Still uses old font after conversion

  • Cell has hard-coded font format → switch to a Unicode-compatible font (Calibri / Arial / Times New Roman).
  • Or before converting, switch to a Unicode font first → then convert encoding.

License gating

Encoding is completely free — no license required.

  • Smart Case — change case after converting to Unicode.
  • Remove Diacritics — UDF DvdRemoveDiacritics turning "Hà Nội" into "Ha Noi".

Released under DVDAddin License.