چرا فایل CSV در Excel نویسههای عجیب نشان میدهد
اشتباه رمزگذاری نویسه که پشت بههمریختگی حروف است و سه راه برای درست کردن آن.
فایل CSV را در Excel باز میکنید و نامهایی مثل Müller یا José با نمادهای عجیبی بهجای حروف دارای علامت ظاهر میشوند. نماد یورو و آپوستروفها هم به خوشههایی از نویسههای نامفهوم تبدیل میشوند. دادههای شما هیچ ایرادی ندارند. Excel فایل را با رمزگذاری نویسهٔ اشتباه میخواند.
ماجرا چیست
فایل متنی فقط مجموعهای از بایتهاست و رمزگذاری نویسه قاعدهای است که بایتها را به حروف تبدیل میکند. تقریباً همهٔ سیستمهای امروزی فایلهای CSV را با UTF-8 مینویسند که از همهٔ زبانها پشتیبانی میکند. Excel در Windows، وقتی روی یک CSV دو بار کلیک میکنید، هنوز یک رمزگذاری منطقهای قدیمی مثل Windows-1252 را فرض میگیرد، مگر اینکه فایل با نشانگر کوچکی به نام نشانهٔ ترتیب بایت یا BOM شروع شود. بدون BOM، هر نویسهای بیرون از انگلیسی ساده با قاعدهٔ اشتباه خوانده میشود و هر حرف دارای علامت به شکل دو یا سه نویسهٔ بیمعنی درمیآید.
دادهها سالماند. همان فایل را در Google Sheets، Numbers یا یک ویرایشگر متن باز کنید تا ببینید درست نمایش داده میشود.
راهحل 1: BOM را اضافه کنید
اگر فایل UTF-8 درستی است و فقط Excel آن را اشتباه نشان میدهد، آن را با گزینهٔ BOM روشن از ابزار اصلاح رمزگذاری نویسه بگذرانید. نویسهها تغییری نمیکنند، اما این نشانگر به Excel میگوید فایل را UTF-8 بخواند و از آن به بعد با دو بار کلیک درست باز میشود.
راهحل 2: به یک فایل واقعی Excel تبدیل کنید
فایل .xlsx هیچ ابهامی از نظر رمزگذاری ندارد. ابزار تبدیل CSV به Excel فایل CSV را درست میخواند و یک کتاب کار ذخیره میکند که همهجا درست باز میشود. این ابزار صفرهای ابتدای کدهای پستی و شمارهتلفنها را هم حفظ میکند، صفرهایی که Excel هنگام باز کردن مستقیم CSV حذفشان میکند.
راهحل 3: بهجای دو بار کلیک، فایل را وارد کنید
در Excel از Data و سپس From Text/CSV استفاده کنید و File Origin را روی 65001: Unicode (UTF-8) بگذارید. Excel اینطور فایل را درست میخواند. این روش جواب میدهد، اما باید هر بار یادتان باشد و به همین دلیل دو راهحل اول برای فایلهایی که با دیگران به اشتراک میگذارید عملیترند.
وقتی خود فایل خراب شده است
گاهی نویسههای بههمریخته داخل خود فایل ذخیره میشوند. این وقتی پیش میآید که کسی یک فایل UTF-8 را در Excel باز کرده، بههمریختگی را دیده و دوباره ذخیرهاش کرده است. حالا همان نویسههای بیمعنی خودِ دادهاند. مشکل را در همهٔ برنامهها میبینید، نه فقط در Excel. ابزار اصلاح رمزگذاری نویسه دقیقاً برای همین حالت یک حالت ترمیم دارد: رمزگذاری دوباره را برمیگرداند و حروف اصلی را بازیابی میکند. حالت خودکار آن در بیشتر فایلها این وضعیت را تشخیص میدهد.
تشخیص سریع
| آنچه میبینید | علت احتمالی | راهحل |
|---|---|---|
| فقط در Excel اشتباه است و جاهای دیگر درست | نبود BOM | BOM را اضافه کنید یا به .xlsx تبدیل کنید |
| در همهٔ برنامهها اشتباه است | فایل پس از اشتباه خوانده شدن ذخیره شده | رمزگذاری دوباره را ترمیم کنید |
| علامت سؤال یا مربع | فایل با یک رمزگذاری قدیمی Windows ذخیره شده | از Windows-1252 به UTF-8 تبدیل کنید |
پیشگیری
- هنگام خروجی گرفتن از Excel، بهجای CSV ساده گزینهٔ CSV UTF-8 را انتخاب کنید.
- هنگام خروجی گرفتن از سیستمهای دیگر برای کاربران Excel، اگر گزینهاش وجود دارد BOM را هم قرار دهید.
- هرگز CSVای را که بههمریخته به نظر میرسد دوباره ذخیره نکنید. اول رمزگذاری را درست کنید.