PDA

View Full Version : مشكل در بخش دانلود فايل‌هاي با نام فارسي



iliamatin
دوشنبه 13 دی 1389, 12:46 عصر
با سلام
من برنامه اي نوشتم كه در اين برنامه، يه سري فايل doc يا pdf با استفاده از فرم در پوشه اي ريخته ميشه و اسم اون فايلها نيز در ديتا بيس قرار ميگيره و در صفحه ديگري طراحي شده كه مشخصات اون فايل و خود فايل براي دانلود گذاشته شده.
مشكل من اينه كه وقتي نام فايلهاي doc يا pdf فارسي هستند موقع دانلود مشكل پيش مياد و ميره به صفحه"can not page" اما وقتي همين فايل را با اسم انگليسي ميفرستيم هيچ مشكلي نداره و براحتي دانلود ميشه.
لطفا بگين اين مشكل را چجوري برطرف كنم.

Vahid Faraji
دوشنبه 13 دی 1389, 18:03 عصر
1. این تگ رو حتما باید به صفحه اضافه کنید یعنی انکدینگ صفحه باید utf-8 باشه.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

2. چک کنید آیا charset فیلد مورد نظر شما، utf8 هست یا نه، آگه نه utf8 قرار بدین.
3. از
mysql_query("SET NAMES 'utf8'") قبل از
mysql_select_db("login",$con); استفاده کنید.

alonemm
سه شنبه 14 دی 1389, 18:21 عصر
نام ها رو به صورت دستي وارد نكنيد.
بعد چك كنيد كه پايگاه داده شما به صورت UTF-8 باشد.
(يك راه هم اينكه يك فيلد Caption داشته باشيد و نام فارسي رو اونجا بزاريد براي نمايش و خود فايل نام English داشته باشد.)

parsidev
سه شنبه 14 دی 1389, 18:40 عصر
با سلام
شما به راحتی و بدون هیچ کدام از موارد فوق می تونید مشکل خودتون رو حل کنید!!
باید هنگامی که می خواهید نام فایل ها رو ذخیره کنید آنها را کد کنید و موقع استفاده از آنها decode کنید
مثال زیر رو ببینید:


<?php
$filename_for_save = urlencode($filename);

//and for decodeing:
$file = urldecode($filename);
?>


در صورتی که خواسته باشین لینکی به این فایل استفاده کنید لازم نیست نام فایل کد شده را decode کنید چرا که مرورگز نام فایل encode شده را تشخیص می دهد.

با احترام