String encoding rubrika: Programování: PHP

3 jan_4
položil/-a 8.9.2014

Zdravím vespolek,

potýkám se s takovým (pro mě trochu záhadným) problémem.

Jako datové úložiště pro svoje aplikace používám S3 od Amazonu. Problém nastává když jsou soubory nestandartně pojmenovány, v tu chvíli pracuje AWS PHP SDK nějak zvláštně a to takto:

Pakliže hledám soubor který se jmenuje:

áýšč asd íěšá.jpg

podle klíče 1, pak ho to najde, podle klíče 2 však ne. Problém je, že rozdílnost klíčů nelze ukázat zde na develu, protože při copy paste oba vypadají stejně. Stejně tak v mém brackets editoru vypadají stejně, jen textmate je zobrazuje rozdílně, vizte:

http://tinypic.com/r/qya555/8

Dík za radu.
J.

Komentáře

  • jan_4 : Zvláštní. Možná bych měl zmínit, že ty soubory nahrávám na S3 napřímo přes javascript a CORS. Když ten soubor přejmenuju na s3 tak s tou diakritikou neni problém. Zdá se, že se to zmrví nějak po cestě browser -> s3. 10.9.2014
odkaz
7 onelook
odpověděl/-a 8.9.2014

Unicode umožňuje stejný string vyjádřit různými bitovými zápisy. Třeba je to tvůj problém. V takovém případě by mohla přijít vhod normalizace:

http://php.net/manual/en/class.normalizer.php

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.