#javascript #postgresql #graphql #next.js
#javascript #postgresql #graphql #next.js
Вопрос:
Я собираю имена в своей базе данных из зарубежных стран, что означает, что по какой-то причине некоторые символы нелегко сохранить в моей БД:
Пример имени, которое хранится неправильно:
Moretó Font
Это база данных postgres со слоем GraphQL для получения данных.
Информация о БД:
psqlDB| TF8 | en_GB.UTF-8 | en_GB.UTF-8 |
У меня <meta charSet="utf-8"/>
на странице
Я использую:
- postgres v12
- node.js v14.15.4
- nextjs v10
- graphql v15.4
- postgraphile: v4.5.5
postgraphile генерирует мои схемы и разрешает их для меня, поэтому типичная запись в мою БД выглядит как в моем приложении nextjs (javascript):
mutation createArtist(
$firstname: String!
$surname: String!
) {
createArtist(
input: {
artist: {
firstname: $firstname
surname: $surname
}
}
) {
clientMutationId
}
}
create({ variables: { firstname: 'jamie', surname: 'hutber'} })
Интересно, нужно ли мне удалять все эти символы при сохранении их в БД?
Комментарии:
1. Какова кодировка символов базы данных?
2. Я считаю
en_GB.UTF-8
, что это?3. Эти вопросительные знаки означают, что документ ANSI отображается так, как если бы он был UTF-8. Недостаточно иметь эту
<meta>
строку, вам нужно убедиться, что ваши фактические HTML-документы / шаблоны на самом деле являются UTF-8. Откройте любой из них в своей IDE и проверьте строку состояния внизу. Он должен показывать формат.4. не может ли проблема быть в случае верблюда
charSet
(если я имею в виду не компонент React)5. @t3__rry когда страница отображается как html, который будет выведен правильно:
<meta charset="utf-8">