Existe diferença entre en_US.utf8 e en_US.UTF-8?

4

Informações do servidor (DNS e IPs removidos):

cat /proc/version && uname -a && java -version

Linux version 2.6.16.33-xenU (*************) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #2 SMP Wed Aug 15 17:27:36 SAST 2007
Linux ************* *************-xenU #2 SMP Wed Aug 15 17:27:36 SAST 2007 x86_64 x86_64 x86_64 GNU/Linux
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode)

Eu tenho algum código PHP que está lendo de um arquivo do Excel e fazendo comparações de strings. Está falhando no servidor devido ao que parece ser um problema de localidade. Na minha máquina local (OSX 10.8.5 Mountain Lion), no entanto, funciona!

Na minha máquina local, a localidade é en_US.UTF-8. No servidor o locale era POSIX mas eu mudei para en_US.utf8 já que não havia en_US.UTF-8 quando eu olhei locale -a (curiosamente, a lista de locales no servidor são todos minúsculas, mas no meu Mac eles são todos em maiúsculas, que é onde esta questões decorre).

Existe uma diferença entre os dois que poderia afetar as comparações de strings?

Além disso, conforme este post do SF Eu corri locale -v -a . No servidor, en-US.utf8 usa o conjunto de códigos UTF-8 (suponho que seja o mesmo que normalmente chamo de charset?). No entanto, na minha máquina local eu pareço incapaz de executar o comando locale -v -a , embora locale e locale -a funcionem bem.

Editar: Uma questão relacionada Eu perguntei no StackOverflow.

    
por Matthew Herbst 30.07.2014 / 23:46

1 resposta

2

Nenhuma diferença. Eles são um e o mesmo.

    
por 01.08.2014 / 00:20