PHP से MySQL तक और ब्राउज़र में बिना क्रैकजैक के UTF-8 का पूर्ण समर्थन कैसे सेट करें?
```html
सभी को नमस्कार! मैं एक शुरुआती PHP डेवलपर हूँ, और दूसरे सप्ताह से एन्कोडिंग की समस्या से जूझ रहा हूँ। साइट रूसी भाषा में है, डेटाबेस MySQL है, सब कुछ सेट कर लिया है, लेकिन DB से डेटा आउटपुट करने पर पेज पर प्रश्न चिह्न या क्रैकजैक जैसे "Р РµСально?" दिखाई देते हैं।
मैं इस तरह डेटाबेस से कनेक्ट करता हूँ:
```php
$db = new mysqli('localhost', 'user', 'pass', 'mydb');
$db->query("SET NAMES cp1251");
```
फ़ाइलें UTF-8 बिना BOM के सेव करता हूँ, head में `` डालता हूँ। लेकिन जब फॉर्म के ज़रिए रूसी टेक्स्ट डालकर सेव करता हूँ — DB में वह सामान्य दिखता है, लेकिन पेज पर नहीं। अगर phpMyAdmin के ज़रिए सीधे डेटा डालूँ, तो पेज पर सही दिखता है।
`cp1251` को `utf8` में बदलने की कोशिश की — तब DB में सब कुछ बिगड़ जाता है, लेकिन पेज पर सामान्य। `SET NAMES utf8mb4` आज़माया — बिल्कुल काम करना बंद हो गया। मैं क्या गलत कर रहा हूँ? रूसी भाषा को हर जगह कैसे काम कराऊँ: DB में, पेज पर, और फॉर्म सबमिट करते समय? क्या कोई चेकलिस्ट या पूरा समाधान है?
```