Chińskie znaki mogą być wyświetlane i wprowadzane na moim LXTerminal.Jak wprowadzić chińskie znaki w php cli?
[email protected]:/home/debian8# 中文 \\now to input chinese characters on my LXTerminal,it means chinese characters can be inputted.
bash: 中文: command not found \\ bash react the chinese characters on my LXTerminal,it means chinese characters can be displayed.
Chińskie znaki mogą być wprowadzane i wyświetlane na mojej powłoce Pythona.
Teraz wchodzi w php CLI (lub powiedzieć php shell)
chińskie znaki zniknęły, kiedy kliknij enter.
oznacza to, że chińskie znaki mogą być wyświetlane, ale nie można ich wstawić w trybie php cli.
Jak wprowadzić znaki chińskie w trybie php cli?
Jest to sprawdzony fakt, że chińskich znaków nie można wkleić również do php cli.
Może niektóre atrybuty mbstring zostaną zmienione w /etc/php5/cli/php.ini?
Dziękuję bwoebi. Trzy fakty dodane, aby przejść do moich badań.
1. Wersje libreadline i libedit.
[email protected]:/home/debian8# find/-name 'libreadline*'
/lib/x86_64-linux-gnu/libreadline.so.6.3
/lib/x86_64-linux-gnu/libreadline.so.6
[email protected]:/home/debian8# find/-name 'libedit*'
/usr/lib/x86_64-linux-gnu/libedit.so.2
/usr/lib/x86_64-linux-gnu/libedit.so.2.0.51
/usr/share/lintian/overrides/libedit2
[email protected]:/home/debian8 # ldd "$ (co php)"
linux-vdso.so.1 (0x00007ffd35e5c000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007ff98ac68000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff98aa4d000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007ff98a836000)
libonig.so.2 => /usr/lib/x86_64-linux-gnu/libonig.so.2 (0x00007ff98a5cc000)
libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007ff98a1d0000)
libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007ff989f6f000)
libdb-5.3.so => /usr/lib/x86_64-linux-gnu/libdb-5.3.so (0x00007ff989bae000)
libqdbm.so.14 => /usr/lib/libqdbm.so.14 (0x00007ff989961000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007ff989751000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007ff9894e3000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff9892db000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff988fda000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff988dd6000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007ff988bbe000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007ff988857000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007ff98860c000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007ff988338000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007ff988107000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007ff987f03000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff987b58000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff98793b000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff98ae9f000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007ff987718000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007ff98750c000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007ff987308000)
3.Chinese znaki na php7 -a
php7 został zainstalowany jako
http://www.tecmint.com/install-and-compile-php-7-on-centos-7-and-debian-8/
Chińskie znaki mogą być wyświetlane i wprowadzane na php7 -a
.
Jest nowe odkrycie!
To jest biblioteka readline na php7.
php7 -i |grep Readline
Readline Support => enabled
Readline library => 6.3
Jest to opakowanie EditLine na php5.
php -i |grep Readline
Readline Support => enabled
Readline library => EditLine wrapper
Problem jest w połowie rozwiązany status.
Jak zrobić, aby mój php5 korzystał z biblioteki Readline 6.3 w wersji php7?
Nie chcę ponownie kompilować mojego php5, tylko po to, żeby zmienić bibliotekę?
dzisiaj skompilować php5 w moim VirtualBox z poleceniem:
./configure \
--prefix=/usr/local/php5.6 \
--with-config-file-path=/usr/local/php5.6/etc \
--with-readline
chińskie znaki mogą być wprowadzane i wyświetlane na php -a
trybie interaktywnym.
To nierozsądne, aby usunąć bieżący php5 i skompilować wszystko od początku.
find/-name 'readline.so*'
/usr/lib/php5/20131226/readline.so
/usr/lib/x86_64-linux-gnu/libreadline.so
/usr/lib/x86_64-linux-gnu/ruby/2.1.0/readline.so
/usr/lib/x86_64-linux-gnu/libguilereadline-v-18.so.18
/usr/lib/x86_64-linux-gnu/libguilereadline-v-18.so
/usr/lib/x86_64-linux-gnu/libguilereadline-v-18.so.18.0.0
/usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so
/lib/x86_64-linux-gnu/libreadline.so.6.3
/lib/x86_64-linux-gnu/libreadline.so.6
Może włączyć /lib/x86_64-linux-gnu/libreadline.so.6.3, jak sprawić, by pracować dla mojego PHP5?
Dlaczego nazwa twojego polecenia pochodzi od chińskiego? – Justinas
Chcę sprawdzić, czy chińskie znaki mogą być wprowadzane i wyświetlane na moim LXTerminal. –
Nie rozumiem, w jaki sposób fakt, że twoja powłoka lub terminal przekształca twoje chińskie znaki wejściowe ma coś wspólnego z PHP? PHP nie obsługuje wejścia na terminalu, twoja powłoka jest. – AntoineB