چگونه با PHP از اطلاعات دیتابیس خروجی csv بگیریم که کاراکترها درست نمایش داده شوند؟
اگر تا به حال با PHP یا هر زبان دیگری، یک فایل با پسوند csv خروجی گرفته باشید، میدانید که وقتی آنرا در Excel باز میکنید، چنین کاراکترهایی را مشاهده میکنید:
نام خ
دلیل آن این است که خروجی شما هر چند که UTF-8 است اما ویندوز، برای اینکه بفهمد این یک فایل UTF-8 است، یک کاراکتر مخفی در ابتدای آن کم دارد که در اصطلاح به آن BOM گفته میشود.
پس شما دو راه دارید:
۱- اگر خودتان برنامه را ننوشتهاید و این مشکل در فایلی که به دست آوردهاید وجود دارد، برای رفع این مشکل، آنرا در برنامه NotePad++ باز کنید و از منوی Encoding گزینه Encode in UTF-8 را انتخاب کنید. فایل را ذخیره کنید و دوباره در اکسل باز کنید، خواهید دید که آن مشکل رفع شده.
۲- اگر خودتان برنامهنویس هستید، برای اینکه کاربران با این مشکل مواجه نشوند، همان ابتدای فایل خروجی، این کاراکترها را قرار دهید:
\xEF\xBB\xBF
همین!
این کاراکترها نماد BOM هستند.
توجه: فراموش نکنید که اینها باید در دابل کوتیشن قرار گیرد نه در سینگل کوتیشن.
اگر توضیحات بیشتری نیاز دارید، ویکی پدیا را ببینید:
http://en.wikipedia.org/wiki/Byte_order_mark
موفق باشید،
حمید رضا نیرومند
کلمات کلیدی: php, آموزش php, پسوند csv, مشکل کاراکتر در Excel, UTF-8, کاراکتر مخفی BOM, برنامه نویسی, حروف ناخوانا, کاراکتر های نامفهوم
.
- مطالب مرتبط:
- چگونه گزینه های انتخاب شده یک CheckBox را با کمک inputهای hidden به صفحه سوم منتقل کنیم؟
- در آمدی بر زبان PHP
- نوشتن بر روی عکس با GD در PHP
- آموزش نمایش تاریخ هجری شمسی با استفاده از PHP در صفحات وب
- نکاتی در مورد کار با URL در پی.اچ.پی (Working with addresses in PHP)
- ------------
- چگونه اطلاعات اضافه روی سایت خود را حذف کنیم تا فضا آزاد شود؟ (در کنترل پنل CPanel)
- مبحث تاریخ و زمان (date and time) در PHP و نحوه درج در بانک MySQL
- آموزش تبدیل HTML به PDF در PHP توسط mpdf
- چگونه از یک table با کمک jQuery خروجی CSV (اکسل) بگیریم؟
- حل یک مشکل: پوشههای مخفی (Hidden) من به هیچ وجه نمایان (Show) نمیشوند!
ارسال سؤال یا نظر
1- رضااسماعیلی:
بوسیله: , در: Sunday, 2013 March 10-کد: 6392
من هنوز نتنوانستم یک ایمل درست کنم
2- حسن احمدی :
بوسیله: , در: Wednesday, 2014 January 15-کد: 9193
مهندس جان عالی وبسایر کاربردی بود دمت گرم
http://vatansystem.blogfa.com
3- شهرام:
بوسیله: , در: Wednesday, 2018 November 28-کد: 15821
عالی

English
العربی
Swedish
François
