پویا م

مشکل نشان دادن کلمات فارسی به صورت علامت سوال در php

پویا م ۱۳۹۶/۱۱/۱۰ زبان برنامه‌نویسی پی‌اچ‌پی

سلام به همه کاربران من در حال نوشتن سایتی هستم که اطلاعاتی رو به فارسی در دیتابیس ذخیره میکنه و در صفحات مورد نظر دوباره بازخوانی میکنه و درون متغیر ها ریخته شده و در جای مورد نیاز echo میشه . مشکل من اینه که کلمات به صورت ؟ نشان داده میشن و هرکاری میکنم درست نمیشه در صفحات متا رو utf-8 قرار دادم و در داخل phpmyAdmin هم دیتابیس ها به صورت utf8-general-ci ساخته شده بودن و من بعدا حتی به utf8-persian-ci تغییر دادم ولی درست نشد. در اینترنت هم فانکشن های پیشفرض mysqli رو برای درست شدن این مشکل گذاشتن ولی من بعد از استفاده از اونا (شک دارم درست استفاده کرده باشم) اررور داد و کار هم نکرد. mysqli_query("SET NAMES 'utf8'", $conn); mysqli_query("SET CHARACTER SET 'utf8'", $conn); mysqli_query("SET character_set_connection = 'utf8'", $conn); آیا باید فانکشن ها رو در متغیر ای ذخیره کرد یا راهکار دیگری برای این مشکل هست؟
پاسخ‌ها به این تاپیک
amirmohammadta
amirmohammadta
۱۳۹۷/۰۳/۰۲
سلام دوست عزیز. منم همین مشکل شما رو در html داشتم. ببنید تنها کاری که باید بکنید اینه که تو ادیتوره کدتون از بخش Encoding اون interpret as UTF-8 without BOM رو به interpret as UTF-8 تغییر بدهید. اون موقع کلمات فارسی رو به خوبی نشان خواهد داد. شاد و پیروز باشید.
hoomamirs
hoomamirs
۱۳۹۷/۱۰/۱۸

سلام 

خیلی ممنونم بخاطر راهنمایی شما 1 ساعت هرکاری کردم صفحه ای که طراحی کردم فارسی بشه نشد ولی با راهنمایی شما راحت شدم چون فارسی شد بازم ممنونم 😃

در پاسخ به

مجتبی پاکزاد
مجتبی پاکزاد
۱۳۹۶/۱۱/۱۰
جای پارامترهای سه فانکشن بالا را عوض کنید، یعنی آرگومان اول باید کانکشن باشه و آرگومان دوم رو کوئری بگذارید: mysqli_query($conn, "SET NAME utf8"); mysqli_set_charset($conn, 'utf8'); در ضمن encoding فایل‌ها utf8 باشد و اگر نیست با این انکودینگ سیو کنید.
پویا م
پویا م
۱۳۹۶/۱۱/۱۱
بعدش این فانکشن هارو داخل همون متغیر $conn ذخیره کنم؟

در پاسخ به

مجتبی پاکزاد
مجتبی پاکزاد
۱۳۹۶/۱۱/۱۱
نه، دقیقا خط زیرش بنویسید، دقیقا باید بعد از هر اتصال یکبار این دستورات را اجرا کنید.

در پاسخ به