نمایش نتایج 1 تا 15 از 15

نام تاپیک: مشکل نمایش فارسی در mysql

  1. #1
    کاربر جدید
    تاریخ عضویت
    تیر 1389
    محل زندگی
    در شهرک غرب در مشهد الرضا
    پست
    1

    مشکل نمایش فارسی در mysql

    با عرض سلام و خسته نباشید به همه برو بچ پر تلاش این بخش و تمام بخش های سایت ، یه مشکلی برام پیش اومده نیاز به یک راه حل دارم :

    سلام

    من Collation ديتابيس رو در PHPMyAdmin
    utf8_persian_ci انتخاب كردم ولي وقتي
    يك داده به زبان فارسي از طريق اسكريپتم در ديتابيس ذخيره
    مي كنم ، به حروف نامعلومي تبديل ميشه
    و حتي در phpMyAdmin هم به صورت فارسي ديده
    نميشه!
    مثلاً اين شكلي ديده ميشه : نقل قول:
    ضد حریق
    وقتي داده رو از طريق صفحه وب اسكريپتم لود مي كنم به زبان فارسي
    به خوبي ديده ميشه و فقط در PHPMyAdmin و Mysql عجيب غريب ديده
    ميشه! پس اين Collation به چه درد ميخوره!
    من ميخوام از طريق ODBC داده هاي Mysql رو تو Excel
    لود كنم و الان با اين شرايط تمامي كلمات فارسي با همون
    حروف نامأنوس در Excel لود ميشن (دقيقاً همونجور كه در Mysql
    يا phpMyAdmin ديده ميشن)
    راهي نيست كه كاراكترهاي فارسي در Mysql ، بدون تبديل شدن
    به كاراكتر ديگري به همون شكل فارسي خودشون ذخيره بشن ؟
    اصلاً چنين چيزي امكان داره ؟


  2. #2

    نقل قول: مشکل نمایش فارسی در mysql

    بعد از اینکه کانکت شدی به mysql و دیتابیست رو سلکت کردی این کد ها رو زیرش بنویس

    mysql_query("SET NAMES utf8");
    mysql_set_charset("utf8");

  3. #3

    نقل قول: مشکل نمایش فارسی در mysql

    دوست عزیز
    در فولدر phpMyAdmin در فولدر libraries فایل database_interface.lib.php را باز کنید و کد:

    if (! empty($GLOBALS['collation_connection'])) {
    PMA_DBI_query("SET CHARACTER SET 'utf8';", $link, PMA_DBI_QUERY_STORE);
    $mysql_charset = explode('_', $GLOBALS['collation_connection']);
    PMA_DBI_query("SET collation_connection = '" . PMA_sqlAddslashes($GLOBALS['collation_connection']) . "';", $link,

    PMA_DBI_QUERY_STORE);
    } else {
    PMA_DBI_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci';", $link, PMA_DBI_QUERY_STORE);
    }

    پیدا و کامنت کنید.
    در نسخه های قدیمی تر فقط این کد ها را کامنت کنید:


    PMA_DBI_query("SET collation_connection = '" . PMA_sqlAddslashes($GLOBALS['collation_connection']) . "';", $link,

    PMA_DBI_QUERY_STORE);



    PMA_DBI_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci';", $link, PMA_DBI_QUERY_STORE);

  4. #4

    نقل قول: مشکل نمایش فارسی در mysql

    سلام
    تابع PMA_DBI_query چیست؟
    متشکرم

  5. #5

    نقل قول: مشکل نمایش فارسی در mysql

    این تابع یکی از متد های استفاده شده در برنامه phpmyadmin هست و از توابع خود php نیست

  6. #6
    کاربر دائمی آواتار mohammad-gh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    باغ شهر آذربايجان (مراغه)
    پست
    671

    نقل قول: مشکل نمایش فارسی در mysql

    ببخشید آقای مدیر
    در فولدر phpMyAdmin در فولدر libraries فایل database_interface.lib.php را باز کنید و کد
    من منظورتون رو از فولدر نفهمیدم
    این تنظیم رو تو phpmy admin روی هاست داریم یا localhost
    اگر روی هاست همچین کاری باید انجام بدیم میشه راهنمایی کنید که باید کجا بریم

  7. #7

    نقل قول: مشکل نمایش فارسی در mysql

    توی لوکال هم دارید به شرطی که از نرم افزار های wampp lampp xampp و.. استفاده کرده باشید یا phpmyadmin رو جدا نصب کرده باشید

  8. #8
    کاربر دائمی آواتار mohammad-gh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    باغ شهر آذربايجان (مراغه)
    پست
    671

    نقل قول: مشکل نمایش فارسی در mysql

    نه من منظورم دقیقا برعکس بود
    من از کجای هاستی با cpanel به فولدر phpmyadmin برم
    یعنی چطور تنظیماتی که گفته شده رو تو cpanel اعمال کنم

  9. #9

    نقل قول: مشکل نمایش فارسی در mysql

    تو هاست شما دسترسی ندارید و فقط ادمین سرور دسترسی داره

  10. #10
    کاربر دائمی آواتار mohammad-gh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    باغ شهر آذربايجان (مراغه)
    پست
    671

    نقل قول: مشکل نمایش فارسی در mysql

    پس با این حساب مشکل ؟؟؟ به جای فارسی راه حلی نداره !
    چون من هر چی تو این فروم گفته شده اعمال کردم اما نشد که نشد
    راستی من دارم از یه برنامه تحت ویندوز (.Net) به بانک my sql روی هاست اطلاعات اضافه می کنم

  11. #11

    نقل قول: مشکل نمایش فارسی در mysql

    شما اگه صفحت رو utf-8 ذخیره کرده باشید و collation تیبل هاتون رو utf8_persian_ci بگزارید و اون 2 خط کد که دادم رو هم بعد از اتصال به دیتبایس بگزارید هم توی phpmyadmin هم توی برنامه فارسی و قابل خواندن میشود

  12. #12
    کاربر دائمی آواتار mohammad-gh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    باغ شهر آذربايجان (مراغه)
    پست
    671

    نقل قول: مشکل نمایش فارسی در mysql

    سلام دوست عزیز ، ممنون از توجهت به تاپیک
    متاسفانه این مشکل چند روزی است کل وقتم رو گرفته و به نتیجه ای نمیرسه
    ببینید ، من تمام مواردی که گفتید رو انجام ، اون دو تا کد رو با روش .net نوشتم
    حتی تک اونها رو هم امتحان کردم (برای جلوگیری ار خنثی کردن اثر هم) و یه خط کد(کانکشن) رو هم اضافه کردم
    این کدهام است که به زبان vb.net نوشته شده

    For i = 0 To Val(stutable.Rows.Count) - 1
    '------------------------------------
    Dim objComm1 As MySqlCommand = New MySqlCommand()
    objComm1.Connection = webcon
    objComm1.CommandText =
    "SET character_set_connection='utf8'"
    '------------------------------------
    Dim objComm2 As MySqlCommand = New MySqlCommand()
    objComm2.Connection = webcon
    objComm2.CommandText =
    "SET NAMES 'utf8'"
    '------------------------------------
    Dim objComm3 As MySqlCommand = New MySqlCommand()
    objComm3.Connection = webcon
    objComm3.CommandText =
    "SET CHARACTER SET 'utf8'"
    '---------------------§«¢ي© ي©ي§ §ں§ى ىں----------------
    Dim objCommandp As MySqlCommand = New MySqlCommand()
    objCommandp.Connection = webcon
    objCommandp.CommandText =
    "INSERT INTO stuinfo(idstu,namestu,idnum,sexstu) VALUES(@idstu,@namestu,@idnum,@sexstu)"
    objCommandp.Parameters.AddWithValue("@idstu", stutable.Rows(i).Item("id"))
    objCommandp.Parameters.AddWithValue(
    "@namestu", stutable.Rows(i).Item("name") + "-" + stutable.Rows(i).Item("family"))
    objCommandp.Parameters.AddWithValue(
    "@idnum", CStr("N" & stutable.Rows(i).Item("fname")))
    objCommandp.Parameters.AddWithValue(
    "@sexstu", "ë§ں©§")
    webcon.Open()
    objComm1.ExecuteNonQuery()
    objComm2.ExecuteNonQuery()
    objComm3.ExecuteNonQuery()
    objCommandp.ExecuteNonQuery()

    webcon.Close()
    Next i

    حال در اینطرف قضیه یعنی نمایش روی وب
    صفحه رو با utf-8 ذخیره کردم (تو نت پد با زکردم و ...)
    ابتدای صفحه کد مربوط به charset رو utf گذاشتم
    تمام بانک، جدول و فیلدها رو به کلکشن گفته شده درآوردم
    و این هم فیلدهام که تو my sql گذاشتم (سعی کردم از هر نوعی بزارم تا شاید جواب بده)


    و در نهایت این هم نتیجه خروجی :
    http://www.afc90.ir/test.php
    عکس های ضمیمه عکس های ضمیمه

  13. #13
    کاربر دائمی آواتار mohammad-gh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    باغ شهر آذربايجان (مراغه)
    پست
    671

    نقل قول: مشکل نمایش فارسی در mysql

    امبدورا وار بودم از اساتید یا جناب funpatogh کسی به دادم برسه تا شاید این مشکل رو حل کنم
    حتما راه و چاره ای داره این مشکل

  14. #14

    نقل قول: مشکل نمایش فارسی در mysql

    اخه عزیز شما کدهاتون به زبان php نیست که بخوام تستش کنم و من سر رشته به vb.net ندارم

  15. #15
    کاربر دائمی آواتار mohammad-gh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    باغ شهر آذربايجان (مراغه)
    پست
    671

    نقل قول: مشکل نمایش فارسی در mysql

    شرمنده
    طرف وب رو ببینید درست تنظیم شده
    و یه سوال
    میشه طرف وب رو طوری تنظیم کرد که قبل از هر ورود داده خودش این دو خط کد (set names utf , ....) رو اجرا کنه (مثل sql )
    آخرین ویرایش به وسیله mohammad-gh : یک شنبه 23 آبان 1389 در 18:43 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •