Предостережения
В зависимости от содержимого базы данных, это вполне может быть нетривиальной задачей, поскольку, хотя могут быть и орфографические ошибки:
- *
administracion
administración
Есть также много пар слов на испанском языке, которые отличаются только акцентом, но оба являются допустимыми словами:
ejército
ejercito
ejercitó
|tu
tú
Если вы рассматриваете только существительные, это число значительно уменьшается, в основном до иностранных заимствований с различными ударениями:
и несколько родных слов несколько написаний :
período
periodo
|reúma
reuma
Запрос
Если вы вряд ли столкнетесь с такими случаями, вы можете использовать SQL-запрос в виде строк:
SELECT a.word AS "Good word", b.word AS "Bad word"
FROM spanish_db AS a
JOIN spanish_db AS b
--Spanish words have at most one accent so can safely nest REPLACE
ON REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(a.word, "á", "a"),
"é", "e"),
"í", "i"),
"ó", "o"),
"u", "u") = b.word
--So as not to match identical words
AND a.word != b.word
Это вернет все пары слов, где появляются акцентированные и без акцентов формы.Вы можете адаптировать это для редактирования / удаления / очистки записей по мере необходимости.
Пример
Good word Bad word
"acedía" "acedia"
"aeróbic" "aerobic"
"aeróstato" "aerostato"
"afrodisíaco" "afrodisiaco"
"alcalá" "alcala"
"alvéolo" "alveolo"
"alérgeno" "alergeno"
"amoníaco" "amoniaco"
"anémona" "anemona"
"arcén" "arcen"