Облачный sql поддерживает неанглийскую букву?

#google-app-engine #google-cloud-platform #google-cloud-endpoints #google-cloud-sql

# #google-app-engine #google-облачная платформа #google-cloud-конечные точки #google-cloud-sql

Вопрос:

Я создал новый API в Google App Engine, используя модуль конечной точки Google Cloud. Созданный api содержит метод api, этот метод подключает облачную таблицу SQL для операции вставки и извлечения. Сейчас он находится в стадии разработки, поэтому используется MySQL для разработки, здесь, когда я пытаюсь вставить неанглийские буквы, отображаются только ?.

Я сомневаюсь, что если предположить, что перешел на облачный SQL, эта проблема была решена или нет?

Если предположить, что вы хотите изменить код для обработки неанглийских букв? и как?

Ответ №1:

Во-первых, вы захотите убедиться, что набор символов, используемый для ваших таблиц, равен utf8mb4. Набор символов по умолчанию в mysql в latin1.

Вы можете установить набор символов в базе данных с помощью:

 ALTER DATABASE db CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
 

Обратите внимание, что это не повлияет на существующие таблицы в базе данных. Если это новая база данных, и вам пока не нужны данные, было бы проще заново создать таблицы, используя utf8mb4.

Комментарии:

1. Да, я сделал это ALTER DATABASE dbName CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; ALTER TABLE employee_location ПРЕОБРАЗОВАТЬ В НАБОР СИМВОЛОВ utf8mb4 СОПОСТАВИТЬ utf8mb4_unicode_ci;