Как сохранить символы emoji (

Это мой любимый способ перебора строки. Вы можете делать все, что хотите, за каждое слово.

string line = "a line of text to iterate through";
string word;

istringstream iss(line, istringstream::in);

while( iss >> word )     
{
    // Do something on `word` here...
}
54
задан Mathias Bynens 7 August 2012 в 07:41
поделиться

2 ответа

4 байта Unicode-символы еще не широко используются, поэтому не все приложения там полностью поддерживают их. MySQL 5.5 отлично работает с 4 байтовыми символами при правильной настройке - проверьте, могут ли ваши другие компоненты работать с ними.

Вот еще несколько вещей, которые нужно проверить:

  • Убедитесь, что все ваши стандартные символы и текстовые поля ваших таблиц преобразуются в utf8mb4, в дополнение к настройке клиента & amp; наборов символов сервера, например. ALTER TABLE mytable charset=utf8mb4, MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4; и т. д. Если ваши данные уже находятся в наборе символов utf8, он должен без проблем быть преобразован в utf8mb4. Как всегда, сделайте резервную копию своих данных перед попыткой!
  • Также убедитесь, что ваш уровень приложения устанавливает набор символов базы данных, установленный в utf8mb4. Двойная проверка этого на самом деле происходит. Если вы используете старую версию клиентской библиотеки mysql выбранной вами структуры, она, возможно, не была скомпилирована с поддержкой utf8mb4, и она не будет правильно устанавливать кодировку. Если нет, возможно, вам придется обновить его или скомпилировать самостоятельно.
  • При просмотре ваших данных через клиент mysql убедитесь, что вы находитесь на машине, которая может отображать emoji, и запускайте SET NAMES utf8mb4 до запускать любые запросы.

Как только каждый уровень вашего приложения сможет поддерживать новые символы, вы сможете использовать их без какого-либо повреждения.

92
ответ дан Nick Baicoianu 31 August 2018 в 20:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: