BlackShot Опубликовано 17 февраля, 2022 Поделиться Опубликовано 17 февраля, 2022 (изменено) Я только что понял, что все настраиваемые текстовые поля показывают странные символы в базе данных. Например, «João» получается как «Jo\u00e3o». Я думаю, что это связано с system\Text\Parser.php, но я не уверен, что нужно изменить, чтобы символы отображались правильно. Настройки базы данных выглядят правильно: Изменено 17 февраля, 2022 пользователем BlackShot Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 17 февраля, 2022 Автор Поделиться Опубликовано 17 февраля, 2022 Seems to be something related with JSON_UNESCAPED_UNICODE and json_encode(). Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 18 февраля, 2022 Поделиться Опубликовано 18 февраля, 2022 U about custom profile fields? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 18 февраля, 2022 Автор Поделиться Опубликовано 18 февраля, 2022 1 hour ago, Desti said: U about custom profile fields? That's right! They use some kind of logic I still don't understand apparently. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 18 февраля, 2022 Поделиться Опубликовано 18 февраля, 2022 standard setup, no problem Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 19 февраля, 2022 Автор Поделиться Опубликовано 19 февраля, 2022 2 hours ago, Desti said: standard setup, no problem Пробовали ли вы создать пользовательское *текстовое* поле в Nexus/Commerce? Я получил этот ответ от кого-то: Quote Прежде всего, \u00e3 не генерируется MySQL. Однако он может быть сгенерирован функцией PHP json_encode(). Обязательно используйте JSON_UNESCAPED_UNICODE во втором аргументе этой функции. Для использования в таблицах MySQL я предпочитаю, чтобы настройки подключения и сервера были постоянно установлены на utf8mb4, чтобы данные Unicode просто появлялись и исчезали без преобразования. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 19 февраля, 2022 Поделиться Опубликовано 19 февраля, 2022 7 часов назад, BlackShot сказал: *текстовое* поле в Nexus/Commerce? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 20 февраля, 2022 Автор Поделиться Опубликовано 20 февраля, 2022 18 hours ago, Desti said: Mine doesn't have that cm prefix. Maybe it's an older/newer version? Anyway, how about core_pfields_data (pf_content) or nexus_support_fields (sf_extra)? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 20 февраля, 2022 Поделиться Опубликовано 20 февраля, 2022 (изменено) system/CustomField/CustomField.php - Search json_encode and edit string $values[ static::$databasePrefix . $k ] = ( $k === 'content' ? json_encode( $_value, JSON_UNESCAPED_UNICODE ) : $_value ); All custom field (and nexus too) must work properly Изменено 20 февраля, 2022 пользователем Desti BlackShot 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 21 февраля, 2022 Автор Поделиться Опубликовано 21 февраля, 2022 18 hours ago, Desti said: system/CustomField/CustomField.php - Search json_encode and edit string $values[ static::$databasePrefix . $k ] = ( $k === 'content' ? json_encode( $_value, JSON_UNESCAPED_UNICODE ) : $_value ); All custom field (and nexus too) must work properly Aha! Works perfectly now - you're a legend! Why do you think IPS didn't have that added in the first place? You think they just missed it, didn't consider their international userbase, or does it affect performance/security? 🤔 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 21 февраля, 2022 Поделиться Опубликовано 21 февраля, 2022 I suspect that for them the great revelation was the existence of other languages BlackShot 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.