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

نام تاپیک: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

  1. #1

    ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    ا سلام به همه دوستان و کارشناسان
    آقا یه سوال دارم که چند روزیه حسابی اعصاب و روانم رو بهم ریخته

    بعد از نصب یک اسکریپت، متوجه شدم که در زمان ارسال یک مقاله، بلاگ و .... با موضوع فارسی و متن فارسی، اطلاعات بصورت یک سری عدد در دیتابیس ذخیره شده و url صفحه مورد نظر هم به صورت همون اعداد با خط فاصله تبدیل میشن و این باعث میشه که حجم خیلی بالایی از بانک اطلاعاتی تلف بشه
    همه نوع charset و collation رو هم امتحان کردم
    از utf8 , persian, general
    اما نتیجه ای حاصل نشد
    ضمنا وقتی بصورت دستی اطلاعات رو در بانک اطلاعاتی بصورت فارسی درمیارم، توی صفحات به شکل علامت سوال در میان

    بعد از اینکه متوجه شدم که این مشکل هست بانک اطلاعاتی رو export کردم
    بعد با ویرایشگر latin1 ها رو به upt8 تغییر دادم و دوباره import کردم
    mysql connection collaboration روی utf8_general_ci تنظیم شده
    اما واقعا موندم چیکار کنم
    کلی زخمت کشیدم اما.
    من از phpfox 2.0.4 استفاده کردم

    آقا تو رو خدا کمکککککککککککککککککککککک
    میگم تابعی چیزی وجود نداره که احتمالاً کاراکترهای غیرانگلیسی رو به این وضعیت در بیاره

    خیلی عجیب غربیه
    خستم کرده به خدا

    ببین مثلا من یک وبلاگ ایجاد کردم با تیتر آزمایشی تست
    توی بانک اطلاعاتی بصورت زیر ذخیره شده:
    آزمایشی تست
    url مربوط به اون صفحه هم به شکل زیر در اومده (که توی خود بانک اطلاعاتی هم به همین شکل ذخیره میشه):
    /blog/1570-1586-1605-1575-1740-1588-1740-1578-1587-1578/
    حتی وقتی برای وبلاگ تگ وارد میکنم، وقتی روی تگ کلیک میکنم، توی صفحه نتایج می نویسه:
    نتایج برای 1570-1586-1605-1575-1740-1588-1740-1578-1587-1578

    راستی وقتی که مثلا توی بانک اطلاعاتی خودم بصورت دستی فارسی وارد میکنم، توی صفحه و آدرس url تبدیل به ?????? میشه
    MySQL connection collation: utf8_general_ci
    راستی یه چیزی، دیتابیس من 195 جدول داره که collation همشون utf_general_ci هست


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

    چند بار هم دیتابیس رو export کردم، collation رو تغییر دادم دوباره import کردم ، اما نشد، حالا نمیدونم شاید هم من یه اشتباهی این کارو میکنم، آخه زیاد وارد نیستم.
    خدا خیرتون بدههههههههههههه کمککککککککککککککککککککککک ککککککککککککککک

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    کرج
    پست
    238

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    دوست عزیز من خودم زیاد سر در نمیارم ولی من به نظر من این دو تا رو هم امتحان کن.
    اول که به این خط توجه کن که من توضیح ندم دیگه.
    character set utf8 collate utf8_danish_ci
    اینو امتحان کن ببین درست ذخیره میشن یا نه.من خودم دیتابیس های فارسی ام رو اینطوری می سازم و مشکلی هم ندارم.
    بعد هم اگر دستی وارد می کنی و توی صفحه علامت سوال میشن فکر کنم که بهتره که نوع کارکتر های صفحه رو مشخص کنی که مرورگر بدونه باید صفحه ات رو چطوری تفسیر کنه.خط زیر رو به تگ head یه صفحه اضافه کن ببین درست میشن یا نه.
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    به هر حال این چیزی بود که من به نظرم اومد و گفتم که بگم شاید کمکت کنه.

  3. #3

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    مورد دوم که گفتی رو قبلا ً امتحان کردم جواب نداد
    اما در مورد اولی باید امتحان کنم اما فکر نمیکنم جواب بده، آخه توی این زمینه خیلی چیزها رو امتحان کردم

    من احساس میکنم تابعی چیزی وجود داره که میاد حروف و کاراکترهای غیرانگلیسی رو تبدیل به کد اسکی میکنه

    باز هم تشکر دوست خوبم بابت توجهت

  4. #4

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    عزیزم این مشکل برای همه هست یعنی وقتی با PHP کدی رو تو دیتا بیس اینسرت میکنی توسط phpmyadmin علامت سوال و عدد نمایش داده میشه و اگه دستی از طریق phpmyadmin حروف فارسی رو وارد کنی و با php نشون بدی علامت سوال میشه.
    برای اینکه مشکلت حل شه نوع دیتابیست رو utf8_general_ci بزار و قبل از اینکه چیزی رو وارد دیتابیس کنی یا بخونی کوئری زیر رو بگیر.

    mysql_query("SET NAMES 'utf8'", $link);

    البته $link باید با متغیر مربوط به کانکشن دیتابیست تعویض بشه.

    فکر کنم این راه حل توی mysql 5 به بالا جواب بده حالا بازم مطمئن نیستم

  5. #5

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    میشه یه مثال برای &link بزنی دوست خوبم
    آخه تازه کارم بلد نیستم

  6. #6

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    چرا که نه دوست عزیز


    <?php
    $link = mysql_connect ("localhost", "username", "password")
    or die(sendError('Could not connect to DB'));
    mysql_select_db ("dbName");
    //
    // Set character set to UTF-8
    //
    mysql_query("SET CHARACTER SET 'utf8'", $link);
    ?>

  7. #7

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    آقا به خدا خسته شدم
    هر روشی که میگید امتحان میکنم جواب نمیده
    اینقدر گشتم توی این نت خسته شدم
    فکر میکنم این چون اسکریپت جامعه مجازیه و برای زبونهای مختلف ساخته شده، کاراکترهای غیر انگلیسی رو به صورت اسکی ذخیره میکنه

    آقایون کمکککککککککککککککککککک
    اگه هزینه ای هم داره تقبل میکنم فقط کمککککککککککککککککککککککک کککککککک

  8. #8

    Thumbs up نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    سلام به همه
    نمی دونم تا حالا مشکلت حل شده یا نه . من راه حل رو برای همه نوشتم.
    من هم مشکل شما رو داشتم یعنی وقتی یکسری اطلاعات فارسی رو از php وارد mysql می کردم به صورت اسکی ذخیره می شد . هرچی تو اینترنت جستجو کردم نتیجه نگرفتم تا اینکه خدا خواست و خودم حلش کردم .
    ایتدا پروژه رو توی نوت پد notepad باز کنید بعد گزینه save as رو بزنید وقتی از شما نام پروژه رو می خواد گزینه encoding رو روی utf-8 تنظیم کنید و پروژه رو ذخیره کنید حالا آپلودش کنید و حالشو ببرید
    مخلص شما محمد علی بهفر

  9. #9

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql


  10. #10

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    سلام
    هر کد php رو که میخوای بنویسی در notpad بنویس و بصورت encoding : utf8 ذخیره کن.

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

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    هر کد PHP نه!
    فقط متون فارسی رو که از بانک نمی خونی باید در نت پد بنویسی و به صورت utf ذخیره کنی

  12. #12

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    نقل قول نوشته شده توسط parsajax مشاهده تاپیک
    عزیزم این مشکل برای همه هست یعنی وقتی با PHP کدی رو تو دیتا بیس اینسرت میکنی توسط phpmyadmin علامت سوال و عدد نمایش داده میشه و اگه دستی از طریق phpmyadmin حروف فارسی رو وارد کنی و با php نشون بدی علامت سوال میشه.
    برای اینکه مشکلت حل شه نوع دیتابیست رو utf8_general_ci بزار و قبل از اینکه چیزی رو وارد دیتابیس کنی یا بخونی کوئری زیر رو بگیر.

    mysql_query("SET NAMES 'utf8'", $link);
    البته $link باید با متغیر مربوط به کانکشن دیتابیست تعویض بشه.

    فکر کنم این راه حل توی mysql 5 به بالا جواب بده حالا بازم مطمئن نیستم

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

  13. #13

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql


  14. #14
    کاربر دائمی آواتار milad.biroonvand
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    پست
    1,406

    نقل قول: ذخیره شدن کاراکترهای فارسی بصوت کد اسکی در mysql

    احسن دقیقا همین بود .

    نقل قول نوشته شده توسط parsajax مشاهده تاپیک
    عزیزم این مشکل برای همه هست یعنی وقتی با PHP کدی رو تو دیتا بیس اینسرت میکنی توسط phpmyadmin علامت سوال و عدد نمایش داده میشه و اگه دستی از طریق phpmyadmin حروف فارسی رو وارد کنی و با php نشون بدی علامت سوال میشه.
    برای اینکه مشکلت حل شه نوع دیتابیست رو utf8_general_ci بزار و قبل از اینکه چیزی رو وارد دیتابیس کنی یا بخونی کوئری زیر رو بگیر.

    mysql_query("SET NAMES 'utf8'", $link);

    البته $link باید با متغیر مربوط به کانکشن دیتابیست تعویض بشه.

    فکر کنم این راه حل توی mysql 5 به بالا جواب بده حالا بازم مطمئن نیستم

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

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