مشکل عدم نمایش تصاویر فارسی در وردپرس

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

تمامی کارهای انتقال به درستی انجام شده و تنها مشکل تصاویری هست که نام انها فارسی بودن و نمایش داده نمیشن و پس از آپلود در هاست تغییر نام میدن. ( عکس زیر )

1

1- این مشکل فقط بعد از آپلود تصاویر موجود در پوشه آپلود وردپرس پیش میاد.
2- به طور مستقیم تصویری در هاست آپلود میشه مشکلی نیست.
2- در لوکال تمامی تصاویر به خوبی فراخوانی میشن و نمایش داده میشن.
3- چیزی که متوجه شدم مشکل از یونیکد هست اما راه حل چیه ؟ نزدیک به 3200 تصویر هست که واقعا سخت هست بخوام دونه به دونه تغییر نام بدم و یا آپلود مجدد داشته باشم.

ممنون میشم اگر راه حل رو میدونید در میان بزارید.

سلام

موارد زیر تو فایل wp-config.php چی ست شدن؟ آیا اصلا وجود دارن؟

define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
3 پسندیده

ارادت آرتا جان

خط دوم وجود داره
خط اول هم بصورت زیر هست که با دیتابیس برابر هست

define( 'DB_CHARSET', 'utf8mb4' );
1 پسندیده

عزیزی،

تغییرش بدین به ut8 و نتیجه رو اعلام کنین.

4 پسندیده

1- ممنون ، تغییر دادم اما مشکل پابرجاست ، حتی تصاویر رو دوباره آپلود کردم و بازهم تغییر نام میدن مثل عکسی که ارسال کردم در پست قبلی . ( تصویر زیر بعد از بازکردن تصویر از سی پنل )

3

2- وقتی تصاویر رو از فولدر uploads در لوکال به دسکتاپ میارم و بعد آپلود که میکنم در سی پنل تغییر نام نمیده و از داخل سی پنل هم مشکلی نیست و نمایش داده میشه ( تصویر زیر )

اما چه داخل گالری وردپرس چه در پست وردپرس نمایش داده نمیشه ، حتی وقتی آدرس عکس رو با دامنه باز میکنم باز هم 404 رو دارم ( تصویر زیر )

5

2 پسندیده

سلام محمد جان خوبی عزیز

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

if($_SERVER['UNENCODED_URL'])
   $_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];

چهارم تغییر نسخه php هست

آخرین چیزی که به ذهن من میرسه استفاده از افزونه زیر برای تغییر نام عکس ها هست

4 پسندیده

سلام محمد جان
یک دنیا ممنون بابت راه حل ها ، متاسفانه مشکل برطرف نشد.
آخرشم نتونستم بفهمم واقعا مشکل چی هست ، مشکل تغییر نام عکس ها بعد از آپلود از لوکال رو میزاریم پای یونیکد و این حرفا ، اما چرا وقتی یک فایلی رو در پوشه uploads قرار میدیدم و وقتی آدرس رو فراخوانی میکنیم چیزی برای نمایش وجود نداره.حتی اون فایل به زبان انگلیسی هم باشه بازم نمایش رو نداریم . خوب دیگه بعضی وقت ها بخواد نشه نمیشه :expressionless::joy:

خلاصه اینکه یکبار تو عمرمون فایلی رو با نام فارسی آپلود کردیم بیچاره شدیم ، پیشنهاد میکنیم هیچوقت اینکار رو نکنید :weary::joy: مجبورم برگردم عقب و از اول همین راه رو با فایل های انگلیسی پیش ببرم ، از شما دو بزرگوار هم یک دنیا ممنونم که پیگیر بودین :smiling_face_with_three_hearts:

2 پسندیده

سلام محمد جان عزیز،

واقعا جالبه که این اتفاق افتاده.

حالا همونطور که خودت اشاره کردی باید مدیاها Rename بشن.

حالا یا باید این کار در لوکال صورت بگیره و بعد آپلود کنی که برای این روش پیشنهادم Advanced Renamer هست.
یا باید تغییر نام بر روی هاست صورت بگیره که پیشنهادم افزونه Phoenix Media Rename هست.

در هر دوی این روش‌ها تغییر نام به صورت Bulk وجود داره که نیاز نباشه دونه دونه تغییر نام بدی.

افزونه:

پیشنهاد من استفاده از افزونس چون یه آپلود جلو میفتی.

تست کن خبرشو بده.

1 پسندیده

در ضمن گویا این مشکل فراگیره و از سال 2013 رفع نشده.

فرصت شد یه سرچی بکنم.

این 2تا تاپیکو بخون گویا راهکاری ارائه شده:

https://wordpress.org/support/topic/utf-8-characters-and-upload-feature/

تست کن خبرشو بده.

2 پسندیده

سلام
ممنون رحیم جان

افزونه رو تست کردم ، تغییر نام به فارسی ، انگلیسی ، اعداد هر 3 مورد بازهم خطا 404 دارم و نمایش نمیده .

1 پسندیده

ممنون از سرچ
این مورد هم در فایل formating.php قرار دادم که با مشکل ورود به بخش ادمین مواجه شدم .

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

باز هم ممنون :smiling_face_with_three_hearts:

1 پسندیده

قربونت محمد جان،

این کد رو در functions.php قالب بزار تست کن یا از افزونه My Custom Functions استفاده کن.

2 پسندیده

فدات
انجام شد اما همچنان مشکل پابرجاست

2 پسندیده

عزیزی.

والا دیگه چیزی به ذهنم نمیرسه!!!
اون جمله همیشگی کش رو پاک کن تست کن هم نمیخوام بگم. :joy::joy::joy:

3 پسندیده

سلام
احیانا پوشه uploads را با فایل .htaccess محدود نکردی؟
ببین داخل پوشه این فایل هست
ببین محدودش نکردی
حالا خودت یا توسط افزونه خاصی
ساب فولدر ها رو هم بررسی کن

3 پسندیده

:weary::rofl::joy::joy::joy:

1 پسندیده

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

2 پسندیده

1- مشکل نمایش تصویر فارسی با راه حل زیر کامل برطرف شد :
اومدم قبل از انتقال Collection دیتابیس رو به utf8_persian_ci تغییر دادم و در زمان ایمپورت در هاست هم با همین ایمپورت کردم. این مشکل کامل حل شد ، حداقل میتونم تصاویر رو تک تک آپلود کنم و فعلا کارم راه بیفته. ( تصویر زیر )

2- اما مشکلی که همچنان پا برجاست اینه و باید بفهمم دقیقا چرا رو سرور این اتفاق میفته :
هر فایلی که نام اون فارسی باشه ، و زیپ بشه و در هاست آپلود بشه و به محض اینکه extract انجام میشه تغییر نام میده ، مهم هم نیست تو روت باشه یا فولدر خاصی ، این اتفاق میفته. و اینکه فرقی نمیکنه شما این فایل رو از لوکال هاست بردارید یا هر جای کامپیوتر باشه ، بعد از انتقال به هاست تغییر نام رو داریم ، (تصویر زیر )

3

و در تصویر زیر میبینیم که در فایل زیپ این اتفاق نیفتاده و بعد از انتقال تغییر نام صورت میگیره :
2019-07-26_174642

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

4

این اتفاق در 3 هاست از 3 شرکت مختلف میفته و مخصوص سون هاست یا یک شرکت خاصی نیست ( هم آلمان تست شده هم ایران )

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

ارادت

3 پسندیده

خوشحالم که مشکل تا حدی حل شده محمد جان،

به نظر میاد بعد زیپ شدن و آن‌زیپ شدن روی هاست این اتفاق میفته، ممکنه به خاطر عدم پشتیبانی Zipper (در اینجا Winrar) باشه.

به نظر من با Winzip تست کن و مطمئن شو قبل از زیپ کردن تو تنطیمات Winzip ، تیک store unidoce filenames… روشن باشه.

3 پسندیده

ممنون رحیم جان

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

اما راه حل رو پیدا کردم ، انقدر مسخره و ساده است که کم مونده بود با کله برم تو مانیتور :neutral_face::joy::joy: مشکل دقیقا رو سیستم من اتفاق میفتاده ، با تصویر توضیح میدم دوستانی که این مشکل براشون پیش اومد بتونن مشکل رو حل کنند.

سیستم عامل کامپیوتر : Windows 10 Enterprise LTSC
به آدرس زیر در کامپیوتر میریم :

Control Panel\Clock and Region

بر روی Region که در تصویر زیر مشخص هست کلیک می کنیم

در پنجره باز شده جدید برو روی Change system Locale… کلیک میکنیم ( تصویر زیر )

و در نهایت همانند تصویر زیر تیک مورد نظر رو میزنیم و اکی کرده و سیستم درخواست ریستارت میکند ، پس از ریستارت مشکل بطور کامل حل می شود.

6

کل مشکل و درگیری من توی این 4 روز فقط و فقط نزدن اون تیک بود :expressionless::man_facepalming:
از شما دوستان گلم هم بابت وقتی که گذاشتید و راهنمایی هایی که داشتید یک دنیا ممنونم ، ایشالا بتونم جبران کنم :heart_eyes:

ارادتمند

5 پسندیده