PDA

View Full Version : مشکل در خواندن اطلاعات فارسی از sql server با php



sh_abbasi
جمعه 29 فروردین 1393, 12:30 عصر
با سلام
من با php به دیتتابیس sql server وصل شدم و میتونم داده ها رو به صورت فارسی ذخیره کنم. ولی هنگام خواندن اطلاعات ، به صورت علامت سوال نشان میده .
ممنون میشم راهنمایی کنید

Mori Bone
جمعه 29 فروردین 1393, 13:31 عصر
این دستور رو بنویس(همون جوری که دستور SELECT ya Insert ya ... رو مینویسید)
"SET CHARACTER SET utf8"

sherlock0111
جمعه 29 فروردین 1393, 14:48 عصر
این دوتا کویری رو وقتی میخواید اتصال انجام بشه بنویسید

mysql_query('SET NAMES \'utf8\'');

mysql_set_charset('utf8')

Mori Bone
جمعه 29 فروردین 1393, 15:04 عصر
این دوتا کویری رو وقتی میخواید اتصال انجام بشه بنویسید

mysql_query('SET NAMES \'utf8\'');

mysql_set_charset('utf8')

ایشون مب گویند در sql server نه mysql. البته فقط باید mysql_query رو حذف کرد

hamedarian2009
جمعه 29 فروردین 1393, 18:21 عصر
بعد از انتخاب دیتابیس باید این کوئری اجرا بشه

mssql_query('set names utf8')

sherlock0111
جمعه 29 فروردین 1393, 18:25 عصر
ایشون مب گویند در sql server نه mysql. البته فقط باید mysql_query رو حذف کردحواسم نبود

sh_abbasi
شنبه 30 فروردین 1393, 07:33 صبح
دستور mssql_query('set names utf8') که قابل اجرا نیست. و منظور شما از names چیه؟

Unique
شنبه 30 فروردین 1393, 11:34 صبح
از چه طریقی به mssql وصل میشین ؟ pdo یا روش دیگه ای دارین ؟

Mori Bone
شنبه 30 فروردین 1393, 15:20 عصر
دستور mssql_query('set names utf8') که قابل اجرا نیست. و منظور شما از names چیه؟

این دستور رو بنویس(همون جوری که دستور SELECT ya Insert ya ... رو مینویسید)
"SET CHARACTER SET utf8"

آخر من نفهمیدم sql server یا mysql????

Unique
شنبه 30 فروردین 1393, 22:50 عصر
دوستان ، ایشون برای MSSQL میخوان ! با کشیدن مباحث MySQL ایشون را گمراه نکنین. البته تا نگن چطور با php با mssql ارتباط برقرار میکنند نمیتونم پاسخ بدم.

sh_abbasi
یک شنبه 31 فروردین 1393, 13:11 عصر
من با mssql وصل میشم. اگه ساده ذخیره کنم داخل دیتا بیس حروف درهم ذخیره میشه ولی خواندن مشکلی نداره ولی وقتی یونیکد میکنم درست ذخیره میشه ولی موقع خواندن علامت سوال نشون میده

sh_abbasi
یک شنبه 31 فروردین 1393, 13:13 عصر
از طریق mssql

Unique
یک شنبه 31 فروردین 1393, 18:06 عصر
ببینین. من یک پست آموزشی در مورد MSSQL اینجا نوشتم (http://barnamenevis.org/showthread.php?402226-%D8%AC%D9%85%D8%B9-%D8%A8%D9%86%D8%AF%DB%8C-%D9%85%D9%88%D8%B6%D9%88%D8%B9%D8%A7%D8%AA-%D9%88-%D9%85%D8%A8%D8%A7%D8%AD%D8%AB-%D9%85%D8%B1%D8%A8%D9%88%D8%B7-%D8%A8%D9%87-PHP-%D9%88-MSSQL) که اگه به روشی که توضیح دادم در آخر ارتباط برقرار باشه توی خوندن و نوشتن نباید مشکلی باشه.

ali abedian
دوشنبه 01 اردیبهشت 1393, 00:50 صبح
بعد از برقراری ارتباط با بانک اطلاعات بلافاصله از تکه کد زیر استفاده کنید .. (البته این برای مای اسکیو ال هست)
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");

sh_abbasi
دوشنبه 01 اردیبهشت 1393, 07:10 صبح
دستوری که شما نوشتین برای my sql است ولی من با دستورات mssql به sql server وصل میشم.

sh_abbasi
دوشنبه 01 اردیبهشت 1393, 09:05 صبح
کسی راه حلی نداره

hamedarian2009
دوشنبه 01 اردیبهشت 1393, 09:36 صبح
فکر نکنم فرقی بین دستورات mysql با mssql باشه فقط پیشوند دستورات فرق داره اینجارو http://webcheatsheet.com/php/connect_mssql_database.phpببین
کاملا مراحلی که در این تاپیک گفته شده رو انجام بده فقط به جای my از ms باید استفاده کنی
http://barnamenevis.org/showthread.php?356992-%D9%BE%D8%B1%D8%B3%D8%B4%D9%87%D8%A7%DB%8C-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1%DB%8C&p=1576424&viewfull=1#post1576424

sh_abbasi
چهارشنبه 03 اردیبهشت 1393, 13:33 عصر
مشکلم با متن فارسی بود. الان دیگه هم میتونم فارسی ذخیره کنم و هم میتونم فارسی از دیتابیس بخونم.با تشکر از همه

hakim110
چهارشنبه 29 مرداد 1393, 10:00 صبح
منم همين مشكل رو دارم ولي با PDO وصل ميشم

hakim110
چهارشنبه 29 مرداد 1393, 10:01 صبح
كسي راه حلي داره ؟
:ناراحت:

hamedarian2009
چهارشنبه 29 مرداد 1393, 13:25 عصر
با PDO کافیه charset=utf8 رو بهش اضافه کنید مثل مثال زیر:

$pdo = new PDO('mysql:host=localhost;dbname=db_name;charset=u tf8', 'root', '');

marziehm869
چهارشنبه 29 مرداد 1393, 16:36 عصر
منم همین مشکلو داشتم این خط دستورا رو قبل از کوریت بزن حله(البته اسم دیتا بیس اینات دیگه درس وارد کن،خودت میدونی):

<?php header('Content-Type: text/html; charset=utf-8');?>
<?php
$dbLink= mysql_connect,"اسم دیتا بیست","پسووردت"،"اسم هاستت");
mysql_query("SET character_set_results=utf8", $dbLink);
mb_language('uni');
mb_internal_encoding('UTF-8');
mysql_select_db("اسم دیتا بیست",$dbLink);
mysql_query("set names 'utf8'",$dbLink); ......؟>

amir.it67
سه شنبه 27 مرداد 1394, 23:22 عصر
مشکلم با متن فارسی بود. الان دیگه هم میتونم فارسی ذخیره کنم و هم میتونم فارسی از دیتابیس بخونم.با تشکر از همه


میشه بگی دقیقا چط.ر این کارو کردی