2013-07-22 33 views
5

Tôi đang cố gắng chèn dấu e có dấu vào một cơ sở dữ liệu mysql theo sau this example. Sử dụng này:Lệnh SET NAMES không thành công với quyền truy cập bị từ chối

mysql_query("SET NAMES 'utf8'"); 

ném:

Cảnh báo: mysql_query() [function.mysql-query]: Truy cập bị từ chối cho người dùng ODBC '@ 'localhost'

của nó không kết nối với cơ sở dữ liệu:

DEFINE ('DB_USER', 'user'); 
DEFINE ('DB_PASSWORD', 'pword'); 
DEFINE ('DB_HOST', 'localhost'); 
DEFINE ('DB_NAME', 'test1'); 
$dbc = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
+7

Lỗi nói 'mysql_error' và truy vấn của bạn sử dụng' mysqli_connect' - là có một cái gì đó tanh? –

+0

AHHHH Xin cảm ơn, tôi thật ngốc nghếch. Doesnt giải quyết vấn đề tiết kiệm và e giọng vào DB của tôi nhưng giải quyết vấn đề tôi hỏi về kết nối. Cảm ơn bạn. Chỉ cần tự hỏi nếu bạn biết, nó bây giờ tiết kiệm giọng e và một traingle đen với một? ở giữa, biết tại sao/làm thế nào để giải quyết điều này? – snookian

+1

Bạn đã thử bất kỳ nội dung nào khác được liệt kê tại http://stackoverflow.com/questions/279170/utf-8-all-the-way-through, chẳng hạn như lưu tệp PHP dưới dạng UTF-8 ([không có BOM] (http://stackoverflow.com/questions/8028957/headers-already-sent-by-php)) và đặt "bộ ký tự chấp nhận" trên bất kỳ biểu mẫu nào? Nếu có, hãy hỏi một câu hỏi riêng. – PleaseStand

Trả lời

-2

Đặt php file thành UTf-8 dường như hoạt động.

9

Không kết hợp sử dụng mysql_*mysqli_* chức năng. Thay vì

mysql_query("SET NAMES 'utf8'"); 

sử dụng

$dbc->set_charset('utf8'); 
2

Tôi nghĩ rằng không có vấn đề trong mối liên hệ đó là những vấn đề mà bạn đang sử dụng mysql_query và bạn đang kết nối với mysqli_connect.

Vì vậy, hãy sử dụng mysqli_query để thực hiện truy vấn.

+0

Có cảm ơn, Amal Murali đã gợi ý cho tôi điều này, nhưng cảm ơn bạn. – snookian

+0

@snookian nếu nó hữu ích sau đó chấp nhận câu trả lời. –

+1

Để biết thông tin mới nhất, vui lòng đọc http://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.set-charset.html nó sẽ cho chúng tôi biết cách thức kết nối và hướng đối tượng theo thủ tục và đối tượng UTF8. – KarlosFontana

0

thử một cái gì đó như thế này:

$dbc = mysql_connect ('localhost', 'user', 'pword'); 
mysql_select_db('test1',$dbc); 
mysql_query('SET NAMES "utf8"',$dbc); 
Các vấn đề liên quan