Pues, fiz um scriptzinho em Lua pra processar os dados prum post anterior. Eu peguei informação de fontes diferentes sobre cidades do estado, e em uma fonte o nome das cidades está escrito normal, e na outra está escrito em FULL CAPSLOCKO. Tento usar string.upper () pra deixar tudo igual.

TURIúBA
SãO JOãO DE IRACEMA
MESóPOLIS
UNIãO PAULISTA
NOVA CANAã PAULISTA
VITóRIA BRASIL
PAULISTâNIA
ASPáSIA
FERNãO
BORá

Oh, oh.

Tá, pode ser que o locale não esteja configurado direito. Ele precisa saber o locale pra saber o que é uma letra maiúscula ou minúscula em determinada língua. Porque em português, i é I, mas em turco i é İ e ı é I. Em alemão ß é SS. Em francês é costume não acentuar maiúsculas (mas isso não é consenso).

Vejamos.

> print (os.setlocale ("pt_BR"))
nil

Fuck. Deve estar faltando alguma coisa... ah, sim, tem um pacote chamado locales-all (GNU C Library: Precompiled locale data). É esse. Vamos tentar agora.

> print (os.setlocale ("pt_BR"))
pt_BR

Agora assim, vai funcionar, né?

TURIúBA
SãO JOãO DE IRACEMA
MESóPOLIS
UNIãO PAULISTA
NOVA CANAã PAULISTA
VITóRIA BRASIL
PAULISTâNIA
ASPáSIA
FERNãO
BORá

*suspira*

É nessa hora que eu tenho que dar o aviso. Eu sou metido a hackey mas não sou lá muito hackey de verdade. Sei seguir umas instruções mais ou menos aí. E aqui eles falam pra instalar um módulo de LuaRocks.

(No geral LuaRocks parece seguro, não achei nenhuma reclamação... mas também não achei nada que indicasse que eles têm algum procedimento pra garantir a segurança...)

Instalo LuaRocks via repositório. Instalo o slnunicode. require ("slnunicode") diz que esse módulo não existe.

$ luarocks show slnunicode

slnunicode 1.1-2 - A Unicode library

A Unicode support library for Lua, developed for the Selene database project.

License: 	Tcl License + MIT/X11
Homepage: 	http://luaforge.net/projects/sln/
Installed in: 	/usr/local

Modules:
	unicode (/usr/local/lib/lua/5.1/unicode.so)

Ah, então eu instalo o slnunicode, mas o nome do módulo é unicode. Beleza. Como que usa? Não sei. No site do LuaRocks não fala. O site original do módulo tá morto, e o que o Wayback Machine salvou tá incompleto. Ah, mas no Stack Overflow o cara fala, é unicode.utf8.upper ():

TURIÚBA
GUARANI D'OESTE
SÃO JOÃO DE IRACEMA
MESÓPOLIS
UNIÃO PAULISTA
NOVA CANAÃ PAULISTA
VITÓRIA BRASIL
PAULISTÂNIA
ASPÁSIA
DIRCE REIS
ARCO-ÍRIS
TRABIJU
FERNÃO
TURMALINA
SANTA SALETE
SANTANA DA PONTE PENSA
FLORA RICA
NOVA CASTILHO
URU
BORÁ

UFA!

#l337 #Língua