Mòdul:Encode
Mediawiki utilitza la codificació de caràcters UTF-8. Així la funció {{urlencode: }}
codifica en aquesta norma. Aquest mòdul proporciona altres codificacions necessàries.
Alguns llocs webs poden utilitzar altres codificacions. Això es pot trobar amb una funció del navegador per visualitzant el codi font de la pàgina, donant alguna cosa com:
<meta charset="UTF-8" />
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
latin1
Codificar en latin-1 o ISO-8859-1. Sintaxi:
{{#invoke:encode|latin1|<text>}}
Per exemple:
{{#invoke:encode|latin1|Viquipèdia}}
→ Viquillibres
en canvi compareu
{{urlencode:Viquillibres}}
→ Viquillibres
Això pot ser útil, per exemple, per enllaçar al DIEC en línia:
[http://dlc.iec.cat/results.asp?txtEntrada={{#invoke:encode|latin1|camió}} camió al DIEC]
→ camió al DIEC
pagename
Codifica com un títol de pàgina convertint a HTML certs caràcters, de la mateixa forma que ho fa la funció {{PAGENAME}}. A més, converteix a majúscula inicial i els guions baixos en espais en blanc. Sintaxi:
{{#invoke:encode|pagename|<text>}}
Per exemple, "Peter & John's" ho convertirà a "Peter & John's". Tot i que l'HTML ho mostra igual, donarà positiu en fer una comparació amb {{PAGENAME}}. Vegeu mw:Manual:PAGENAMEE encoding.
-- Codificació de caràcters amb normes diferents a UTF-8
local p = {}
--[[
Codificació de caràcters en latin1 o ISO-8859-1, usat per exemple per {{diec}} i {{gdlc}}.
Sintaxi: {{#invoke:encode|latin1|<text>}}
]]
function p.latin1(frame)
local taulaLatin1 = { -- no és exhaustiva, inclou els caràcters usats en català
["à"] = "%E0",
["è"] = "%E8", ["é"] = "%E9",
["í"] = "%ED", ["ï"] = "%EF",
["ò"] = "%F2", ["ó"] = "%F3",
["ú"] = "%FA", ["ü"] = "%FC",
["ç"] = "%E7",
["·"] = "%B7",
[" "] = "%20",
["'"] = "%27"}
local text = mw.ustring.gsub(frame.args[1] or "", ".", taulaLatin1)
return text
end
function p.pagename(frame)
local taulaHtml = { -- caràcters codificats amb PAGENAME
["'"] = "'",
["&"] = "&",
['"'] = """,
[""] = "", -- caràcter de control al final de la cadena que apareix en copiar i engaxar
["_"] = " "}
local text = mw.ustring.gsub(frame.args[1] or "", ".", taulaHtml)
text = mw.text.trim(text)
return mw.ustring.upper(mw.ustring.sub(text,1,1)) .. mw.ustring.sub(text,2)
end
return p