Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. База должна быть создана с кодировкой utf8mb4 и collate = utf8mb4_unicode_ci
- 2. Нужно чтоб таблица была создана с такой же кодировкой и collate:
- [CODE=sql]CREATE TABLE `tablename` (
- -- ...
- ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;[/CODE]
- 3. В столбцы, которые будет идти запись utf8 символов нужно тоже сопоставить этим кодировкам:
- [CODE=sql]`row_name` varchar(11) COLLATE utf8mb4_unicode_ci NOT NULL[/CODE]
- 4. При подключении к БД из php нужно использовать установить кодировку и collate (пример для экстеншена mysqli):
- [CODE=php]$DB = new mysqli($settings['host'], $settings['user'], $settings['pass'], $settings['database']);
- if ($DB->connect_errno) {
- exit('mysql connect error: (' . $DB->connect_errno . ') ' . $DB->connect_error);
- }
- if (!$DB->set_charset("utf8mb4")) {
- exit('mysql set charset error: ' . $DB->error);
- }
- if (!$DB->query('SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci)) {
- exit('mysql set collate error: ' . $DB->error);
- }[/CODE]
- 5. При передаче данных в скрипт (post-запросом) - нужно чтоб там точно всё было в utf8.
- При соблюдении всех условий всё 100% должно заработать.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement