Wednesday, December 22, 2010

mysql_client_encoding

Parameter
MySQL koneksi. Jika link pengenal tidak ditentukan, link terakhir yang dibuka oleh mysql_connect () diasumsikan. Jika tidak ada link tersebut ditemukan, maka akan mencoba membuat satu seperti mysql_connect () dipanggil tanpa argumen. Jika koneksi tidak ditemukan atau didirikan, sebuah E_WARNING tingkat kesalahan yang dihasilkan.

Mengembalikan karakter default nama untuk sambungan saat ini.
Contoh # 1 mysql_client_encoding () contoh

Contoh di atas akan menampilkan mirip dengan sesuatu:
Set karakter saat ini adalah: latin1
Lihat Juga

mysql_set_charset () - Set karakter klien set
mysql_real_escape_string () - Escapes khusus karakter dalam string untuk digunakan dalam pernyataan SQL

mysql_client_encoding
Devos di montp INSERM dot dot fr

Saya menggunakan mysql 3,23 dan tidak ada di atas bekerja untuk saya. Melihat http://dev.mysql.com/tech-resources/articles/4.1/unicode.html seperti yang disarankan oleh Romain di dardour dot com, saya mencoba untuk memasukkan header berikut di script php saya, dan semua karakter funy disapeared . Harapan itu akan membantu.
(Karakter mysql saya latin1)

Harap dicatat bahwa bahkan jika Anda mengatur charset dengan mengeluarkan dua disebutkan pernyataan SQL (set nama, karakter set set) mysql_client_encoding masih deliveres hasil lama.

Default bagi saya adalah latin1. Setelah beralih ke UTF8 mysql_client_encoding masih kembali latin1. charset yang beralih ke UTF8 berhasil, meskipun.
msieniek di interia dot pl
03-Jul-2007 04:31
Saya memiliki masalah yang sama seperti bartullus, aku dari Polandia juga. Aku telah basis saya dikodekan dalam UTF-8 dan website saya di ISO-8859-2 alias Latin-2. tanda tanya panjang waktu yang sialan 'muncul ...
Saya menggunakan fungsi mysql_client_encoding () tapi hal itu menunjukkan "latin1" yang tampaknya salah. Solusi saya adalah untuk menyertakan dua baris setelah koneksi ke database di script PHP saya:

Jadi, mungkin fungsi ini terletak;)
GZ
18-Mar-2007 02:14
Yang ini juga mungkin diperlukan untuk bekerja senang dengan utf-8, jika Anda tidak memiliki encoding lain.
Pada bagian server tambahkan:

init-terhubung = 'SET NAMES utf8'

(Dari manual MySQL)
roy dot dot geek + php at gmail dot com
23-Jan-2007 01:37
f anda berpikir "nama set utf8" untuk setiap koneksi terlalu masalah, Anda dapat memodifikasi my.cnf MySQL untuk memecahkan masalah selamanya. Dalam my.cnf, tambahkan baris "default-character-set = utf8" di kedua [mysqld] dan [klien] bagian:

[Klien]
default-character-set = utf8

[Mysqld]
default-character-set = utf8

MySQL akan menggunakan utf8 setelah Anda me-restart itu.
bartullus di wp dot pl
08-Desember-2006 02:35
Untuk beberapa alasan yang diberikan masuk dalam php.ini:
default_charset = "ISO-8859-2"
tidak
default_charset = "latin2"
tidak bekerja.



Setiap kali Anda menjalankan:

$ Charset = mysql_client_encoding ($ dbh);
echo $ charset;

dari PHP menghubungkan ke MySQL anda akan mendapatkan 'latin1'.

Bahkan jika semua HTML / halaman PHP disimpan sebagai UTF8 dengan header:

dan server MySQL ada dimana-mana UTF8:
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem | biner
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8
menambahkan "SET NAMA latin2" dan "SET KARAKTER SET latin2" ke dalam PHP untuk koneksi MySQL Anda akan selalu mendapatkan tanda tanya setelah melakukan pilih.
Saya juga mencoba semua tips dari halaman ini dan tidak berhasil sebagai lain menyatakan 'itu bekerja untuk saya' - bla ... menghabiskan waktu 6 jam pada itu.

HANYA YANG solusi yang "bekerja untuk saya" dan bagi orang lain menggunakan latin2-iso-8859-2 (Aku dari Polandia) adalah untuk menempatkan satu baris ke dalam script SQL Anda dengan sisipan banyak:
menetapkan nama latin1;

Setelah itu, Anda dapat menjalankan script SQL dari QUERY BROWSER dengan latin2 karakter dalam sisipan.
Setelah hanya itu, bila Anda query bidang-bidang dari halaman PHP melalui pilih Anda akan mendapatkan tanda tanya NO dan sampah.

baris perintah 'mysql' Jika Anda menggunakan alat bukan QUERY BROWSER untuk menjalankan script memasukkan Anda harus menghapus "nama set latin1" dari awal naskah karena kesalahan ketika memproses baris. Daripada berjalan yang "set nama latin1" separatelly dan kemudian jalankan script insert.
'Mysql' bekerja dengan baik dengan "nama set latin2" tetapi hanya dengan singleline, sisipan manual.

'Mysql' klien perintah berfungsi dengan baik setelah beralih ke "set nama latin2" tetapi MySQL Query Browser tidak. Query Browser v.1.2.6 beta tidak besar untuk beberapa alasan lain yang tidak layak disebutkan di sini.

konfigurasi saya adalah:
Windows 2000
Apache2.2
MySQL 5.0.27
MySQL klien menunjukkan 5.1.11
PHP5.2.0
dan aku diperlukan untuk menjalankan script menyisipkan untuk memenuhi kamus dengan data awal.
Pedro Pereira
09-Sep-2006 02:30
Yang harus saya lakukan untuk menyelamatkan utf8 data dengan php mysql_query () adalah pergi ke php.ini dan menaruh default_charset = "utf-8". Tanpa ini saya memiliki masalah yang sama beberapa dari Anda miliki. Plus, semua mysql saya charset vars di 'utf8'. (Berubah mereka dengan MySQL Admin Tool)

Didnt menggunakan perintah SET mysql **** sama sekali.

Mysql 4.1.20
PHP 4.4.4
Win XP

Harapan ini membantu sebagian dari Anda.
alamakota di mises dot pl
26-Jul-2006 02:13
Ada variabel tersedia tidak 'character_set' di MySQL. Anda dapat memeriksa sendiri di dokumentasi MySQL online atau dengan menjalankan character_set MySQL query "SHOW VARIABEL SEPERTI '%';".
Ini harus merupakan kesalahan dalam manual PHP, kecuali saya tidak ada sesuatu.
21-Jul-2006 00:46
Sebuah cara yang sangat mudah untuk selalu mendapatkan hasil dalam UTF-8 adalah untuk membuat fungsi umum untuk terhubung ke DB dan dalam yang berfungsi set karakter set ke utf-8.

fungsi OpenConn () {
global $ link;
$ Link = mysql_connect ("localhost", "username", "password")
atau mati (sendError ('Tidak dapat terhubung ke DB'));
mysql_select_db ("dbname");
/ /
/ / Set karakter set ke UTF-8
/ /
mysql_query ("'utf8' SET KARAKTER SET", $ link);
}
Romain di dardour dot com
Aku tidak bisa beruntung dengan semua hal yang disebutkan di bawah, dan meskipun memiliki DB unicode, dan setting semua bidang saya untuk utf8_general_ci ...
Setelah melihat sekeliling, saya menemukan bahwa halaman ini: http://dev.mysql.com/tech-resources/articles/4.1/unicode.html adalah menambahkan kolom dengan info tambahan sebelum setiap nilai:


Pikiran "_utf8" sebelum nilai lapangan, dan di luar tanda kutip.

Ini bekerja untuk saya cuaca di Sisipan atau pernyataan Update.

Tidak perlu di sini untuk sebelum setiap query, atau untuk mengubah apapun di file config (yang penting karena saya tidak memiliki akses ke ini).

Jalur yang tepat untuk dimasukkan ke dalam / my.cnf etc / (atau file pilihan MySQL) adalah:

[Klien]
init-perintah = "SET NAMES utf8"

Unfortuantely PHP mysql_connect () fungsi tersebut tidak menggunakan opsi MySQL file sehingga ini bukan sollution untuk mengubah karakter sambungan default set untuk perpustakaan mysqlclient v4.1 +.

The sollution bekerja hanya tersisa:

mysql_query ("SET NAMES utf8", $ conn);

(Tentu saja / ext / mysql / php_mysql.c selalu dapat ditambal;])
Wio di psitrax dot de
16-Mar-2006 05:24
Jika Anda menetapkan pengkodean di my.cnf seperti

[Mysqld]
init_connect = 'SET NAMES utf8'

diketahui bahwa isi init_connect tidak dijalankan untuk pengguna yang memiliki hak istimewa SUPER - root yaitu!
vrbcik

Saya memiliki masalah dengan encoding setelah ekspor tabel (dari hosting - via PhpMyAdmin) dan impor mereka ke mesin yang lain (notebook saya - via PhpMyAdmin juga). Di PhpMyAdmin pengkodean dari semua data yang ditampilkan dengan benar, bukan yang baik dengan halaman web (data ditarik melalui php).
Poin pertama adalah indikasi, bahwa data yang diimpor benar, tetapi naskah php telah mendapat set karakter lainnya selain MySql sedang mengirim.

character set Script adalah dalam header: http-equiv="Content-Type" . pengaturan MySql adalah latin1.

Kemudian kode berikut membantu saya:


info di jantichy dot cz
30-Dec-2004 10:02
Perhatikan perbedaan antara dua pernyataan SQL berikut:

SET NAMA 'charset_name'
KARAKTER SET SET charset_name

Untuk detail lebih lanjut lihat
http://dev.mysql.com/doc/mysql/en/Charset-connection.html
hitam di tempat kejadian-si dot org

di atas (karena tampaknya menjadi samar-samar ditunjukkan di manual mysql) bekerja hanya dengan 4.1 mysql +

Jika Anda mengalami masalah aneh, seperti beberapa karakter UTF-8 (yang č karakter Unicode dan beberapa orang lainnya dalam kasus saya) tampaknya sedang berubah menjadi sampah dengan mysql_query, Anda mungkin perlu melakukan sesuatu seperti ini sebelum query Anda yang sebenarnya:



No comments:

Post a Comment

bootabel linux

Cara Membuat Bootable Linux Dengan USB Flashdisk Seperti biasa, sebelum memulai pembuatan bootable linux dengan menggunakan flashdisk ada...