웹 사이트를 번역 중이 었는데 모든 것이 잘 작동했지만 온라인 서버 (Linux)에 파일을 넣었을 때 번역이 작동했지만 악센트가있었습니다 스페인어로 된 편지는 다음과 같이 나타납니다 누군가가 어떻게 고칠 수 있는지 알고 있습니까?utf-8 인코딩의 .mo 파일은 리눅스 서버에서 강조된 단어로 작동하지 않습니다.
답변
like 어디에? 웹 페이지에있는 경우 번역이 나머지 HTML과 동일한 문자 집합에 있는지, 해당 문자 집합이 맨 위에 제대로 표시되는지 확인해야합니다.
다음과 같이 표시됩니다. suscríbase (사이트의 단어) suscr base와 비슷합니다. – otavio
PHP를 사용하는 경우 mo 파일이 UTF-8 (또는 PO 파일에 지정한 내용)을 반환하고 있음을 시스템에 알리기 위해 bind_textdomain_codeset 함수를 추가해야 할 수도 있습니다. 그래서 이런 일이 트릭의해야합니다 :
$language = 'de_DE';
bindtextdomain($language, APP_ROOT.'locale'); // Define domain
textdomain($language); // Choose domain, translation is looking for in locale/de_DE/LC_MESSAGES/de_DE.mo now
bind_textdomain_codeset($language, 'UTF-8'); // Tell the system out MO files will return UTF8
서버가 UTF-8이 아닌 로켈에서 실행중인 경우 정확하게 수행해야합니다. 서버의 환경이 'LC_CTYPE'을 예를 들어로 설정하면 'en_US.UTF-8', 기본적으로 괜찮을 것입니다. –
나에게는 같은 문제가있는 것 같습니다. 기호를 해결할 수 없습니다.
필자는 내 html (utf-8)의 맨 위에 올바르게 charset을 설정했으며 .po 파일도 utf-8입니다. bind_textdomain_codeset 명령을 시도했지만 작동하지 않았습니다.
서버는 Linux입니다.
[해결]
라인이 추가 : bind_textdomain_codeset ("기본", "UTF-8");
언어 도메인 대신 기본값을 사용하십시오. 왜 궁금해 ..
어떤 특정 프로그래밍 언어? –