Добавление одинарных кавычек в результаты MySQL с иногда, но не всегда
Первоначально, когда я пытаюсь добавить строку с одинарными кавычками, база данных использовала, чтобы вернуть сообщение об ошибке.
Так что я добавил addlashes к этой строке перед запросом.
После добавления надстрочных знаков String выглядит следующим образом в базе данных. По какой-то причине обратные слеши не всегда вставляются.
Пожалуйста, предложите мне метод обработки кавычек после прохождения этого сценария
Case1: Использование Addslashes
У меня уже есть огромный код, где, если я использую надстрочные черты перед вставкой, я должен также использовать раздельные черты после запроса select, чтобы удалить \ в каждом результате. Это приведет к большому количеству изменений в моих контроллерах и моделях IN Codeigniter.
Случай 2: без аддлаша
Если я не использую addlashes или mysql_escape, моя база данных не позволяет мне хранить одинарные кавычки.
Я изменил кодировку на utf8mb4_general_ci, но все еще бесполезен.. Я также убедился, что кодировка в config.php также содержит кодировку utf8mb4.
Любые предложения для эффективного метода?
1 ответ
Я нашел решение, надеюсь, это будет полезно для других
Обновите MySql до версии 5.5.3+ и используйте набор символов utf8mb4_general_ci.. Убедитесь, что тип данных является длинным текстом
Вот и все. Насколько я знаю, не нужно использовать addlashes и stripslashes.
Это также поддерживает Emoji в благодарность