#javascript #wordpress #character-encoding
#javascript #wordpress #кодировка символов
Вопрос:
Я использую WordPress 5.1 с Yoast SEO. Yoast SEO полагается на файл components.js который выдает следующую ошибку в консоли (я отредактировал это для краткости — это очень длинная строка)
Uncaught SyntaxError: Invalid regular expression:
/[A-Za-zªµºÀ-ÖØ-öø-ƺƻƼ-Æ¿Ç€-ǃDŽ-ʓʔʕ-ʯʰ-ʸʻ-ËË-Ë‘Ë -ˤˮͰ-ͳͶ-ͷͺͻ-ͽͿΆΈ-ΊΌΎ-Î
Идентичная строка не отображается в файле, хотя файл содержит следующую строку при просмотре в текстовом редакторе:
[" "A-Za-zªµºÀ-ÖØ-öø-ƺƻƼ-Æ¿Ç€-ǃDŽ-ʓʔʕ-ʯʰ-ʸʻ-ËË-Ë‘Ë -ˤˮͰ-ͳͶ-ͷͺÍ
Строка выглядит следующим образом при просмотре панели управления веб-хостингом:
[" "A-Za-zªµºÀ-ÖØ-öø-ƺƻƼ-ƿǀ-ǃDŽ-ʓʔʕ-ʯʰ-ʸʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͷͺͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҂Ҋ-ԯԱ-Ֆՙ՚-՟ա-և։ःऄ-हऻ
Единственная странность заключается в том, что в базе данных было сочетание наборов символов (latin1, utf8 и utf8mb4), которые я попытался исправить, и все таблицы теперь используют utf8mb4_uncode_ci (это было выбрано, поскольку это был самый распространенный набор символов в БД).
Существует также сочетание типов таблиц InnoDB и MyISAM. На сайте есть несколько Â
символов по всему сайту, что, насколько я могу судить, является распространенным показателем проблем с набором символов.
Итак, я предполагаю, что по какой-то причине WordPress загружает файл javascript с неправильным набором символов, который создает ошибки.
Есть ли способ это исправить? Я немного сбит с толку.
Ответ №1:
Исправлено.
Это произошло из-за того, что blog_charset
было установлено значение UTF-7
в wp_options
. Изменение этого на UTF-8
решило проблему