دیتابیس در php

saalek110

Well-Known Member
میشه در یک فایل کارها را انجام داد ، این طور که فایل به خودش پاس بده ، اگر دنبال این هستید تاپیک ساخت بازی با php من را ببینید:


 

saalek110

Well-Known Member
آموزشهای زیادی در این مورد در اینترنت هست ، جاهایی که من کم توضیح دادم را اونجا ببینید.
مثلا ساخت دیتابیس و تیبل به شکل دستی ، ممکن است در آموزشهای دیگران تصویری موجو باشد.
 

saalek110

Well-Known Member
اگر در گوشی می خواهید کار کنید نرم افزار اندرویدی زیر را دانلود کنید:


یک فایل html برای فرم بسازید و یک فایل php و از فایل اولی پاس بدهید به دومی. در این نرم افزار می تونید فایلهایی کنار هم بسازید.
 

saalek110

Well-Known Member

رفع مشکل نمایش حروف فارسی در MySQL​


دلیل اصلی مشکل تغییر حروف فارسی به ؟ یونیکدهای داخل دیتابیس است که شما می‌توانید از طریق PHPMyAdmin به تصحیح آن بپردازید.

1- برای تنظیم Unicode از طریق پنل هاست خود به بخش PHPmyAdmin بروید.

2- حال بر روی دیتابیس مورد نظر کلیک کنید و سربرگ Operations را انتخاب کنید.

3- دربخش Collation فرمت را به utf_8 persian ci تغییر داده و بر روی Go کلیک کنید تا تغییرات اعمال گردد.

حال از این به بعد تمامی اطلاعات ذخیره شده بدون هیچ مشکلی و به صورت صحیح در دیتابیس ذخیره می‌گردند.


دقت داشته باشید اطلاعات قبلی که در دیتابیس ذخیره شده‌اند قابلیت بازگشت به حروف فارسی را نداشته و اطلاعاتی که پس از تنظیم یونیکد ذخیره می‌گردند ، با حروف فارسی در دیتابیس جای خواهند گرفت.


سالک: من نوع داده ستونی که می خواستم فارسی درش بنویسم را هم به utf_8 persian ci تغییر دادم. حالا شاید اضافه یا غلط بود. ولی لازم بود بگم.
 

saalek110

Well-Known Member
روش دوم:

روش دوم : تنظیم و استانداردسازی ارتباط دیتابیس​

شما می‌توانید جهت استانداردسازی ارتباط با دیتابیس و ثبت اطلاعات از تکه کد زیر استفاده نموده تا بدون مشکل ، ارتباطات از همان ابتدا به صورت Unicode شده و یا استاندارد utf8 برقرار شود.

دقت داشته باشید این روش ، یکی از بهترین راه‌کارها در زمینه مشکلات حروف فارسی است و دیگر با حروف فارسی هیچ مشکلی نخواهید داشت.

mysql_query(“SET CHARACTER SET utf8″);
 

saalek110

Well-Known Member

روش سوم : تنظیم یونیکد از طریق ارسال Header در PHP​

شما می‌توانید همانند روش قبلی ، این کد را در ابتدای کد صفحات PHP خود قرار داده تا مشکل نمایش حروف فارسی در MySQL را نداشته باشید.

header('Content-Type: text/html; charset=utf-8');
بدین ترتیب شما می‌توانید مشکلات پیش آمده برای حروف فارسی و همچنین دیتابیس خود را با روش‌های بالا تغییر داده و بدون مشکل به کار خود ادامه دهید.

البته دقت داشته باشید که اگر از زبان فارسی در فایل‌های PHP و سایر فایل‌های کدنویسی شده ، استفاده کرده‌اید ؛ آنها را نیز باید با یونیکد Utf8 ذخیره کرده تا حروف فارسی بدون مشکل به شما نمایش داده شود.
 

saalek110

Well-Known Member
من امروز با این نرم افزار تونستم mysql هم در گوشی داشته باشم:

AWebServer ( Http Web Server A - Apps on Google Play

با هاپ وب و این نرم افزار یک چیز کامل شد.
تیبل های دیتابیس را با یک فایل اکسپورت کردم و در این نرم افزار ایمپورت کردم.
فایلهای سایتم را هم دانلود کردم ، حالا کل سایتم روی گوشی است.
 

saalek110

Well-Known Member
یک character set مجموعه ای از نشانه ها (symbols) و اینکودینگ ها می باشد.
یک collation مجموعه ای از وظایف برای مقایسه کاراکتر ها در character set می باشد.



در حین ایجاد یک ستون برای جداول خود در پایگاه داده می توانید Collation آن را نیز تغییر دهید. در صورتی که می خواهید از نوشته های یونیکد مانند فارسی استفاده کنید ضروری است که از یونیکدهای زیر مجموعه utf8 استفاده کنید.

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

گزینه های موجود عبارتند از utf8_unicode_ci ، utf8_general_ci و utf8_persian_ci .

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



– اگر قصد دارید فقط متن های فارسی خود را در فیلد خود ذخیره کنید از utf8_persian_ci استفاده کنید زیرا با بیشترین سرعت ممکن و بهترین دقت متن‌ های فارسی را به درستی مرتب می‌کند.

– اگر قصد دارید هم متن فارسی هم انگلیسی استفاده کنید (و یا از چند زبان همزمان) انتخاب یکی از گزینه‌های utf8_general_ci و utf8_unicode_ci شما را به هدف می‌رساند.

utf8_general_ci تفاوت اندکی با utf8_unicode_ci دارد و آن این است که بخشی از الگوریتم‌های یونیکد در آن پیاده نشده است و ممکن است در هنگام مرتب‌سازی برخی زبان‌ها اشتباهاتی در آن مشاهده شود. در عوض کارایی آن بهتر است .



* * *

سوال : من وقتی collation schema پایگاه داده MySQL خودم رو utf8_general_ci می گذارم هیچ مشکلی با حروف و کلمات فارسی ندارم ولی دیدم که یک collation دیگر با نام utf8_persian_ci نیز وجود دارد. می خواستم بدونم چه مزیتی نسبت به utf8_general_ci دارد؟

جواب : تفاوت این دو گزینه در مرتب سازی بر اساس حروف الفبا (Sort) می باشد.

هنگامی که که از utf8_persian_ci استفاده کنید حروف صرفا فارسی (پ چ ژ گ) در جای خود سورت می شوند یعنی پ بعد از ب می آید، چ بعد از ح می آید و ..

اما در utf8_general_ci حروف “پ چ ژ گ” در انتها و بعد از ی می آیند.

منبع:


 

جدیدترین ارسال ها

بالا