DBGTMaster
19.05.08, 20:43
Hallo,
habe ein Problem mit PHP. Und zwar lässt mir die PHP Funktion strtolower(), welche einen String in Kleinbuchstaben verwandelt, alle Umlaute verschwinden.
Laut PHP Manual:
Beachten Sie, dass 'Buchstaben' vom Wert locale abhängig ist. Ist z. B. die Voreinstellung für locale "C", werden Sonderzeichen wie Umlaute (ä, ö, ü) nicht umgewandelt.
mail:~# export
declare -x HOME="/root"
declare -x LANG="de_DE.UTF-8"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do =01;35:b d=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30; 43:tw=30;42:ow=34;42:st=37;44: ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz =01;31:*.lzh=01;31:*.zip=01;31 :*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb= 01;31:*.rpm=01;31:*.jar=01;31: *.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:* .pbm=01;35:*.pgm=01;35:*.ppm=0 1;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01; 35:*.tiff=01;35:*.png=01;35:*. mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.f li=01;35:*.gl=01;35:*.dl=01;35 :*.xcf=01;35:*.xwd=01;35:*.flac=01;35:*.mp3=01;35: *.mpc=01;35:*.ogg=01;35:*.wav= 01;35:"
declare -x LS_OPTIONS="--color=auto --human"
declare -x MAIL="/var/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
declare -x PS1="\\h:\\w\\\$ "
declare -x PWD="/root"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="85.127.134.112 59625 22"
declare -x SSH_CONNECTION="85.127.134.112 59625 88.198.50.93 22"
declare -x SSH_TTY="/dev/pts/2"
declare -x TERM="xterm"
declare -x USER="root"
PHP Dateien sind alle in UTF-8 Kodiert. Genau das selbe Problem habe ich auch mit meiner Postgresql Datenbank.
Wenn ich "SELECT LOWER(name) FROM table" ausführe, so verschwinden aus "name" alle Umlaute. Datenbank ist ebenso in UTF8. Was mach ich falsch?
habe ein Problem mit PHP. Und zwar lässt mir die PHP Funktion strtolower(), welche einen String in Kleinbuchstaben verwandelt, alle Umlaute verschwinden.
Laut PHP Manual:
Beachten Sie, dass 'Buchstaben' vom Wert locale abhängig ist. Ist z. B. die Voreinstellung für locale "C", werden Sonderzeichen wie Umlaute (ä, ö, ü) nicht umgewandelt.
mail:~# export
declare -x HOME="/root"
declare -x LANG="de_DE.UTF-8"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do =01;35:b d=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30; 43:tw=30;42:ow=34;42:st=37;44: ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz =01;31:*.lzh=01;31:*.zip=01;31 :*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb= 01;31:*.rpm=01;31:*.jar=01;31: *.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:* .pbm=01;35:*.pgm=01;35:*.ppm=0 1;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01; 35:*.tiff=01;35:*.png=01;35:*. mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.f li=01;35:*.gl=01;35:*.dl=01;35 :*.xcf=01;35:*.xwd=01;35:*.flac=01;35:*.mp3=01;35: *.mpc=01;35:*.ogg=01;35:*.wav= 01;35:"
declare -x LS_OPTIONS="--color=auto --human"
declare -x MAIL="/var/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
declare -x PS1="\\h:\\w\\\$ "
declare -x PWD="/root"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="85.127.134.112 59625 22"
declare -x SSH_CONNECTION="85.127.134.112 59625 88.198.50.93 22"
declare -x SSH_TTY="/dev/pts/2"
declare -x TERM="xterm"
declare -x USER="root"
PHP Dateien sind alle in UTF-8 Kodiert. Genau das selbe Problem habe ich auch mit meiner Postgresql Datenbank.
Wenn ich "SELECT LOWER(name) FROM table" ausführe, so verschwinden aus "name" alle Umlaute. Datenbank ist ebenso in UTF8. Was mach ich falsch?