PDA

View Full Version : فارسی نویسی در mysql



jalaladdin
جمعه 20 اسفند 1389, 09:05 صبح
با سلام
داده ها بصورت فارسی و انگلیسی در پایگاه داده ذخیره کردم وقتی با استفاده از دستورات ،داده ها رااز پایگاه داده بیرون میکشم . داده های فارسی با علامت سوال نشان داده میشه به نظر شما مشکل از کجا میتونه باشه

idinex
جمعه 20 اسفند 1389, 11:55 صبح
به خيلي موارد مي تونه مربوط باشه

اول صفحه اي كه اطلاعات رو نشون ميده بايد يونيكد باشه. نگفتيد اطلاعات در يك صفحه وب باز ميشه و يا تو محيط نرم افزار تحت ويندوز ؟

دوم بايد در زمان ايجاد ديتابيس charset رو utf8 ست كنيد

اگر اين دو مورد درست باشه اطلاعات بايد درست نمايش داده شود

mohammadian7
جمعه 20 اسفند 1389, 16:37 عصر
سلام
اگر مشکلتون هنوز رفع نشده، اطلاعات بیشتری در مورد کاری که میخواید انجام بدید و محیط پیاده سازی بدید تا بشه کمک بیشتری برای رفع مشکل انجام داد.

jalaladdin
جمعه 20 اسفند 1389, 21:09 عصر
به خيلي موارد مي تونه مربوط باشه

اول صفحه اي كه اطلاعات رو نشون ميده بايد يونيكد باشه. نگفتيد اطلاعات در يك صفحه وب باز ميشه و يا تو محيط نرم افزار تحت ويندوز ؟

دوم بايد در زمان ايجاد ديتابيس charset رو utf8 ست كنيد

اگر اين دو مورد درست باشه اطلاعات بايد درست نمايش داده شود

کدها در برنامه dreamweaver مینویسم و با نرم افزار wamp آنرا اجرا میکنم و همانطور خدمتتون عرض کردم داده ها بصورت فارسی در پایگاه داده ذخیره مشوند charset=utf8 میباشد

mmojbo
یک شنبه 22 اسفند 1389, 19:26 عصر
با سلام
من هم همین مشکل و دارم

هم پایگاه دادم utf8 و هم صفحه وبم ولی دقیقن مشکلم همینه
اگه کسی می تونه راهنمایی بکنه
خیلی مهمه
با تشکر

mohammad-gh
جمعه 26 فروردین 1390, 20:38 عصر
آقا یکی کمک کنه
من هم همه موارد رو انجام دادم اما مشکل حل نشد
این کد رو اول صفحه گذاشتم

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
جدول و تیبلها رو هم UTF _general_ci کردم
اما باز هم اطلاعات رو علامت سوال نشون میده
http://test.fardayeno.org/topstudent.php

javad3d
دوشنبه 19 اردیبهشت 1390, 12:08 عصر
از يونيكد Windows-1256 استفاده كنيد - من كه جواب گرفتم

armintirand
پنج شنبه 22 اردیبهشت 1390, 17:07 عصر
اقا اگه ممکنه یک کد برای تنظیم یونیکد یک داده تو جدول مای اس کیو ال بگید.اگه که کد کامل باشه همراه با تشکیل جدول خیلی بهتره البته من برای php میخوام داده فارسی و انگلیسی وارد کنم.

abpsoft
پنج شنبه 16 تیر 1390, 13:59 عصر
سلام
می دونم که این پست کمی قدیمیه.
ولی جوابشو می گم شاید به درد کسی بخوره.

اول که charset جدول و فیلدهاتونو به utf8_persian_ci تغییر بدین.
بعد ...
فرض کنید شما تابعی نوشتید به نام Connect برای اتصال به دیتابیس. البته اکثراً هم از همین روش استفاده می کنند.
خب در یک فایل PHP شما می خواید که یه مقداری رو به دیتابیس اضافه کنید. (مثلاً اون مقدار هم فارسیه)
همون طور که می دونید، شما ابتدا باید به دیتابیس متصل شوید.
فرض کنید من از کد زیر استفاده کردم.


<?php
include "config.php";
connect();
?>


خب در اینجا من تابع connect رو داخل فایل config.php ذخیره کردم و هربار دارم اون رو صدا می زنم.

تنها کاری که شما باید انجام بدید اینه که شما باید آخر تابع connect که داخل فایل config.php است، قطعه کد زیر رو اضافه کنید. دیگه تمامی مشکلات حل میشه. یعنی همه اطلاعات داخل phpmyadmin رو به فارسی می تونید مشاهده کنید و یا همونجا به فارسی ویرایش کنید.



mysql_query('SET NAMES UTF8');


البته با این کار اطلاعات فعلی که داخل دیتابیس ذخیره شده و فارسیه (البته فارسی به هم ریخته که با کاراکترهای مخصوص نمایش داده میشه) ممکنه بریزه به هم و شما باید از اول تمامی اطلاعات رو وارد دیتابیس کنید. ولی برای دفعات بعد دیگه مشکلی پیش نمیاد.

یه نمونه هم درست کردم و داخل فایل ضمیمه گذاشتم که اگر متوجه نشدید ازش استفاده کنید.
72061
اگر به دردتون خود تشکر یادتون نره.:چشمک::چشمک::لبخندساده:

mamadioli
یک شنبه 10 مهر 1390, 20:25 عصر
دمت گرم:قلب:

nadi_1368
سه شنبه 12 مهر 1390, 01:02 صبح
همانطور که دوستمون گفت فقط باید این کوئری اجرا شود

mysql_query('SET NAMES UTF8');