خروجی csvاز دیتابس php

چگونه با 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

مهندس نیرومند

درباره‌ی کاوه حسین آبادی

مدرس دانشگاه و مدیر مدرسه، امیدوارم مطالبی که در سایت قرار داده میشود بتواند برای شما عزیزان مفید باشد. منتظر نظرات سازنده شما هستیم.

همچنین ببینید

جلسه سوم ضمن خدمت اسکرچ نسخه3

جلسه سوم دوره ضمن خدمت اسکرچ در مرداد 1400 در قالب 24 ساعت ضمن خدمت …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *