ਫਾਈਲ ਠੀਕ है — ਇਸਨੂੰ ਗਲਤ ਪੜ੍ਹਿਆ ਗਿਆ ਸੀ
ਉਪਸਿਰਲੇਖ ਫਾਈਲ ਕੀ ਸਟੋਰ ਕਰਦੀ है ਉਹ ਬਾਈਟ ਹਨ। ਬਾਈਟਾਂ ਨੂੰ ਅੱਖਰਾਂ ਵਿੱਚ ਬਦਲਣ ਲਈ ਇਹ ਜਾਣਨ ਦੀ ਲੋੜ ਹੁੰਦੀ है कि ਉਹ ਕਿਸ ਇਨਕੋਡਿੰਗ ਵਿੱਚ ਲਿਖੇ ਗਏ ਸਨ — ਇਸਨੂੰ ਗਲਤ ਪ੍ਰਾਪਤ ਕਰੋ ਅਤੇ ਤੁਹਾਨੂੰ ਮੋਜੀਬੇਕ ਮਿਲਦਾ है। ਫਾਈਲ ਵਿੱਚੋਂ ਇੱਕ ਵੀ ਬਾਈਟ ਗਾਇਬ ਨਹੀਂ ਹੈ; ਸਹੀ ਇਨਕੋਡਿੰਗ ਨਾਲ ਇਸਨੂੰ ਦੁਬਾਰਾ ਪੜ੍ਹੋ ਅਤੇ ਅੱਖਰ ਵਾਪਸ ਆ ਜਾਂਦੇ ਹਨ।
ਇਹ ਕੰਮ ਨੂੰ ਦੋ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡਦਾ है: ਇਹ ਪਤਾ ਲਗਾਉਣਾ कि ਇਹ ਕਿਸ ਇਨਕੋਡਿੰਗ ਨਾਲ ਸ਼ੁਰੂ ਹੋਇਆ ਸੀ, ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਇਨਕੋਡਿੰਗ ਵਜੋਂ ਸੁਰੱਖਿਅਤ ਕਰਨਾ जिसे आपका ਪਲੇਅਰ ਪਛਾਣ ਸਕੇ। ਪਹਿਲਾ ਅਜ਼ਮਾਇਸ਼ ਡੀਕੋਡਿੰਗ ਅਤੇ ਸਕੋਰਿੰਗ ਤੋਂ ਆਉਂਦਾ है, ਦੂਜਾ ਕਾਪੀ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਤੋਂ। ਉਹ ਵੱਖ-ਵੱਖ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਹੱਲ ਕਰਦੇ ਹਨ।
ਪੰਜ ਰੂਪ, ਪੰਜ ਕਾਰਨ
ਮੋਜੀਬੇਕ ਬੇਤਰਤੀਬ ਨਹੀਂ है — ਇਹ ਕਿਹੋ ਜਿਹਾ ਦਿਖਾਈ ਦਿੰਦਾ है ਇਹ ਦੱਸਦਾ है कि ਇਸਦਾ ਕارਨ ਕੀ ਸੀ:

ਬਦਲਣ ਵਾਲੇ ਅੱਖਰ ਦੀ ਮੁਰੰਮਤ ਕਿਉਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ
ਬਦਲਣ ਵਾਲਾ ਅੱਖਰ ਵੰਡਣ ਵਾਲੀ ਲਾਈਨ है। `�` ਦਾ ਮਤਲਬ है कि ਬਾਈਟ ਪਹਿਲਾਂ ਹੀ ਕਿਸੇ ਪਿਛਲੇ ਕਦਮ 'ਤੇ (ਆਮ ਤੌਰ 'ਤੇ ਕੁਝ ਪ੍ਰੋਗਰਾਮ ਫਾਈਲ ਨੂੰ ਪੜ੍ਹ ਰਿਹਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਦੁਬਾਰਾ ਸੁਰੱਖਿਅਤ ਕਰ ਰਿਹਾ ਹੈ) ਸੁੱਟ ਦਿੱਤੇ ਗਏ ਸਨ, ਅਤੇ ਕੀ ਛੱਡਿਆ ਗਿਆ ਸੀ ਇਸ ਬਾਰੇ ਕੁਝ ਵੀ ਰਿਕਾਰਡ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ। ਉਸ ਬਿੰਦੂ 'ਤੇ ਪਿੱਛੇ ਵੱਲ ਤਰਕ ਕਰਨ ਲਈ ਕੁਝ ਨਹੀਂ है — ਕੋਈ ਵੀ ਇਸਦੀ ਮੁਰੰਮਤ ਨਹੀਂ ਕਰ ਸਕਦਾ।
ਇਸ ਲਈ ਮੁਰੰਮਤ ਪੰਨਾ ਦੋ ਮਾਮਲਿਆਂ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਸੰਭਾਲਦਾ है। ਇੱਕ ਫਾਈਲ ਅੱਪਲੋਡ ਕਰੋ ਅਤੇ ਅਸਲ ਬਾਈਟ ਅਖੰਡ ਹਨ, ਇਸਨੂੰ ਹਰੇਕ ਇਨਕੋਡਿੰਗ ਦੀ ਕੋਸ਼िश ਕਰਨ ਦਿਓ; ਜੇਕਰ ਪੇਸਟ ਕੀਤੇ ਟੈਕਸਟ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਬਦਲਣ ਵਾਲਾ ਅੱਖਰ ਹੈ, ਤਾਂ ਇਹ ਸਾਫ਼-ਸਾਫ਼ ਕਹਿੰਦਾ है: "ਮੁਰੰਮਤ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ, ਕਿਰਪਾ ਕਰਕੇ ਅਸਲ ਫਾਈਲ ਅੱਪਲੋਡ ਕਰੋ"।
ਉੱਥੇ ਉਲਟ ਕੇਸ ਵੀ है: ਸਮੱਗਰੀ ਪੂਰੀ ਤਰ੍ਹਾਂ ਨਾਲ ਪੜ੍ਹੀ ਜਾਂਦੀ है ਪਰ ਤੁਹਾਡਾ ਪਲੇਅਰ ਅਜੇ ਵੀ ਕਚਰਾ ਦਿਖਾਉਂਦਾ है। ਫਾਈਲ ਦੀ ਕੋਈ ਗਲਤੀ ਨਹੀਂ है — ਪਲੇਅਰ ਨੇ ਗਲਤ ਇਨਕੋਡਿੰਗ ਚੁਣੀ ਹੈ। ਟੈਕਸਟ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰਨਾ ਮਦਦ ਨਹੀਂ ਕਰੇਗਾ; BOM ਜਾਂ GBK ਨਾਲ UTF-8 ਵਜੋਂ ਇੱਕ ਕਾਪੀ ਸੁਰੱਖਿਅਤ ਕਰੋ ਅਤੇ ਇਸਨੂੰ ਇਹ ਦਿਓ।

ਮੁਰੰਮਤ ਕਰਦੇ ਸਮੇਂ ਇਹ ਕੀ ਤੁਲਨਾ ਕਰ ਰਿਹਾ है
ਟੂਲ ਹਰ ਸੰਭਵ ਇਨਕੋਡਿੰਗ ਦੀ ਕੋਸ਼िश ਕਰਦਾ है, ਫਿਰ ਹਰੇਕ ਨਤੀਜੇ ਨੂੰ ਸਕੋਰ ਕਰਦਾ है: ਇਸਦਾ ਕਿੰਨਾ ਹਿੱਸਾ ਆਮ ਅੱਖਰਾਂ ਦਾ ਬਣਿਆ है, ਕੀ ਲਹਿਜ਼ੇ ਦੀਆਂ ਸਤਰਾਂ ਹਨ, ਪ੍ਰਤੀਕਾਂ ਦੀਆਂ ਸਤਰਾਂ ਹਨ, ਕੀ CJK ਦੌੜਾਂ ਅਸਪਸ਼ਟ ਅੱਖਰਾਂ ਦੀਆਂ ਕੰਧਾਂ ਹਨ। ਸਭ ਤੋਂ ਵਧੀਆ ਸਕੋਰ ਵਾਲਾ ਨਤੀਜਾ ਸੂਚੀ ਦੇ ਸਿਖਰ 'ਤੇ ਜਾਂਦਾ है।
ਜੇਕਰ ਕੋਈ ਸਕੋਰ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਬਿਹਤਰ ਨਹੀਂ है, ਤਾਂ ਕੁਝ ਵੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ — ਤੁਹਾਨੂੰ ਇਹ ਦੱਸਣ ਨਾਲੋਂ ਕਿ "ਇਹ ਜਿਵੇਂ ਹੈ ਠੀਕ ਪੜ੍ਹਿਆ ਜਾਂਦਾ है" ਤੁਹਾਨੂੰ ਕਿਸੇ ਅਜෙසੀ ਚੀਜ਼ ਨਾਲ ਟੋਰਨਾ ਬਿਹਤਰ है ਜੋ ਸਿਰਫ਼ ਧੁੰਦਲੀ ਤਰ੍ਹਾਂ ਭਾਸ਼ਾ ਵਰਗੀ ਲੱਗਦੀ है। ਦੋ ਵਾਰ ਖਰਾਬ ਕੀਤਾ ਗਿਆ ਟੈਕਸਟ (ਇੱਕ ਵਾਰ ਗਲਤ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ, ਫਿਰ ਇੱਕ ਵਾਰ ਗਲਤ ਮੁਰੰਮਤ ਕੀਤਾ ਗਿਆ) ਨੂੰ ਚੋਟੀ ਦੇ ਉਮੀਦਵਾਰਾਂ 'ਤੇ ਵਾਪਸ-ਹੱਲ ਕਰਨ ਦਾ ਇੱਕ ਵਾਧੂ ਦੌਰ ਮਿਲਦਾ है।

ਸਹੀ ਇਨਕੋਡਿੰਗ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਕੰਮ ਪੂਰਾ ਕਰਦਾ है
ਮੁਰੰਮਤ ਕੀਤੇ ਗਏ ਟੈਕਸਟ ਨੂੰ ਅਜੇ ਵੀ ਇੱਕ ਇਨਕੋਡਿੰਗ ਵਜੋਂ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਪੈਂਦਾ है जिसे आपका ਪਲੇਅਰ ਪਛਾਣਦਾ है। Windows 'ਤੇ ਪਲੇਅਰ ਆਮ ਤੌਰ 'ਤੇ ਇਨਕੋਡਿੰਗ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ BOM 'ਤੇ ਭਰੋਸਾ ਕਰਦੇ हैं, ਇਸਲਈ BOM ਨਾਲ UTF-8 ਸਭ ਤੋਂ ਘੱਟ ਰੌਲਾ है; ਪੁਰਾਣਾ ਹਾਰਡਵੇਅਰ ਅਤੇ ਕੁਝ ਖੇਤਰੀ ਪਲੇਅਰ GBK ਚਾਹੁੰਦੇ ਹਨ। ਤੁਸੀਂ UTF-8, UTF-8 (BOM ਨਾਲ), GBK, Big5, Shift_JIS या EUC-KR ਚੁਣ ਸਕਦੇ हो, और यदि कोई चीज़ ਫਿੱਟ ਨਹੀਂ बैठती है तो आपको ਕੋਈ ਹੋਰ ਚੁਣਨ ਲਈ ਕਿਹਾ ਜਾਵੇਗਾ (GBK ਕੋਰੀਆਈ ਨਹੀਂ ਰੱਖ ਸਕਦਾ)।

ਸੰਬੰਧਿਤ ਟੂਲ ਅਤੇ ਗਾਈਡਾਂ
ਪੂਰੀ ਵਾਕਥਰੂ — ਮੋਜੀਬੇਕ ਉਪਸਿਰਲੇਖਾਂ ਦੀ ਮੁਰੰਮਤ ਕਿਵੇਂ ਕਰੀਏ; ਇੱਕ SRT ਫਾਈਲ ਅਸਲ ਵਿੱਚ ਕੀ ਸਟੋਰ ਕਰਦੀ है — SRT ਫਾਈਲ ਦੇ ਅੰਦਰ ਕੀ है; ਇਨਕੋਡਿੰਗ ਠੀਕ है ਪਰ ਸਮੱਗਰੀ ਗੰਦੀ है (ਵਾਟਰਮਾਰਕ, ਵਿਗਿਆਪਨ, ਸੁਣਨ-ਹੀਣ ਟੈਗ) — ਉਪਸਿਰਲੇਖ ਸਫਾਈ।