تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: مشكل نام فايل فارسي در دستور select into outfile (dumpfile)

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2007
    پست ها
    17

    14 مشكل نام فايل فارسي در دستور select into outfile (dumpfile)

    با سلام خدمت دوستان
    سوال: من ميخوام محتويات يك سطر از يك جدول را در يك فايل ذخيره كنم. همونطور كه مي‌دونيد با استفاده از دستور
    SELECT fields INTO OUTFILE "c:/fileName" FROM tableName
    ميشه اين كار رو انجام داد. ولي مشكلي كه وجود داره اينه كه وقتي fileName فارسي باشه، نام فايلي كه ساخته ميشه قر و قاطي ميشه.
    لازمه بگم كه من از NAVICAT براي مديريت ديتابيس استفاده مي‌كنم و قبل از اجراي اين دستور، دستور
    SET NAMES UTF8
    رو هم اجرا كردم.
    ضمناً براي اينكه بتونيد سريع يك تست بزنيد؛ مي‌تونيد دستور زير رو كپي و اجرا كنيد:
    SELECT "A" INTO OUTFILE "C:/سلام"
    و چك كنيد ببينيد آيا فايلي به اسم "سلام" در درايو C ايجاد شده يا خير. من كه اجرا مي‌كنم يه فايل با اسم "ط³ظ„ط§ظ…" ساخته مي‌شه.

  2. #2
    حـــــرفـه ای neopersia's Avatar
    تاريخ عضويت
    Oct 2006
    پست ها
    3,580

    پيش فرض

    سلام
    چه دلیلی داره که اسم فارسی برای فایل خروجی بدید؟

  3. #3
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2007
    پست ها
    17

    پيش فرض

    سلام
    چه دلیلی داره که اسم فارسی برای فایل خروجی بدید؟
    در اداره ما از يك سيستم اتوماسيون اداري استفاده مي‌شه. متاسفانه اين سيستم امكانات محدودي ارائه ميده، به عنوان مثال هيچ راهي براي خروجي گرفتم از نامه‌ها و پيام‌ها و يا اضافه كردن اطلاعات جانبي به پيام‌ها و خيلي كارهاي ديگه رو انجام نمي‌ده.
    حالا من اومدم و با صرف يك زمان زياد تعداد زيادي از اين پيامها رو تو يك ديتابيس وارد كردم. از جمله اين اطلاعات فايل‌هايي هستند كه پيوست پيامها بودند و من در يك جدول، نام، پسوند و محتويات اونها رو ذخيره كردم. حالا نياز دارم كه تعدادي از اون فايل‌ها رو از ديتابيس رو هارد ذخيره كنم. و اين مهمه كه نام فايل‌ها به درستي ايجاد بشه چون كپي اين فايل‌ها در سيستم اتوماسيون ضبط شده و دست افراد ديگه هم هست و براي ارجاع دادن به نام اون‌ها بايد نام درستشون رو بدونم و اين اختيار رو ندارم كه نام ديگه‌اي رو فايل‌ها بذارم.
    و جداي از اين توضيحات، فكر مي‌كنم شما هم با بنده موافق باشيد كه دست و بال يك نرم‌افزار نويس نبايد با اين چيزا بسته بشه چون ممكنه الآن نياز نداشته باشيم ولي ممكنه در جاي ديگه مجبور شيم.

    ضمناً شايد براي كمك به اذهان بد نباشه بگم:
    يكي بهم‌گفت كه بايد علاوه بر set كردن charset در mySQL بايد سرور شبيه‌ساز آپاچي رو هم تنظيم كني (ايشون معتقد بود كه نويكت به هنگام نصب، آپاچي و يا يك شبيه‌ساز سرور ديگه رو نصب مي‌كنه). البته اون آقا تخصصش تو Microsoft SQL server بود و جزئيات اين كار رو نمي‌دونست. حالا من موندم كه آيا اين حرفش اصلاً درسته. آخه نويكت چه نيازي به آپاچي داره؟ مگه مي‌خواد مثل php كد HTML درست كنه؟

    ممنون از توجه‌تون
    لطفاً راهنماييم كنيد، گير افتادم

  4. #4
    حـــــرفـه ای neopersia's Avatar
    تاريخ عضويت
    Oct 2006
    پست ها
    3,580

    پيش فرض

    این مشکل بیشتر برمیگرده به سیستم عامل و زیاد ارتباطی با mysql نداره که با تنظیم charset برای کوئری حل بشه. تنظیمات charset برای پردازش داخل mysql کار میکنه نه برای نام فایل خروجی از اون.
    من در لینوکس بدون مشکل با php و همینطور از ترمینال فایل با نام فارسی میسازم. خروجی های mysql هم با نام فارسی در لینوکس ایجاد میشه و مشکلی هم نداره. اما ویندوز اجازه همچین کاری رو به php یا mysql نمیده.
    برای مثال این دستور رو در یک اسکرپت batch قرار بدید و در ویندوز اجرا کنید (چون در ترمینال که کلاً حروف فارسی رو علامت سوال مینویسه!):
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    متوجه میشید که فایلی که ساخته میشه نامش "تست.txt" نخواهد بود بلکه چیزی شبیه "╪¬╪│╪¬.txt" میشه! همین اتفاق هم برای نام فایل خروجی از mysql میافته. من این کد رو از ترمینال لینوکس در فدورا اجرا میکنم و بدون مشکل کار میکنه:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نام فایل خروجی هم فارسی هست. اما وقتی معادل همین رو در ویندوز استفاده میکنم نام فایل رو خراب میکنه

    **
    ضمناً فکر نمیکنم navicat با آپاچی کار کنه چون خودش مستقیماً به سرور دیتابیس متصل میشه و نیازی به آپاچی نیست.
    برای حل مشکلتون هم یا باید فایلها رو دستی تغییر نام بدید. یا اینکه براشون کاتالوگ درست کنید که نام فایل انگلیسی و فارسی رو به هم مرتبط کنه. یا اینکه برای خروجی گرفتن یک راه دیگه پیدا کنید که با ویندوز مشکلی نداشته باشه!

  5. 2 کاربر از neopersia بخاطر این مطلب مفید تشکر کرده اند


  6. #5
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2007
    پست ها
    17

    پيش فرض

    ضمن تشكر از وقتي كه گذاشتين.
    توضيحاتتون رو متوجه شدم ولي باز هم احياناً چنانچه تنظيمات مربوط به ويندوز رو كه در اين قضيه دخيل هست يافتين؛ ممنون مي‌شوم من رو هم در جريان بگذارين.

    درود بر شما

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •