2010-08-23 31 views
5

Tôi đang có một thời gian để nhận các ký tự loại ♥ vào cơ sở dữ liệu của tôi bằng cách sử dụng php.Chèn một ♥ vào MySQL (ký tự trái tim) qua PHP

Tôi đã có UTF-8 cài đặt trên trang

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<?php 
$line = $_REQUEST['line']; 
$line = stripslashes($line); 
$line = htmlspecialchars($line); 
$line = trim($line); 
$line = mysql_real_escape_string($line); 
mysql_query("SET CHARACTER SET utf8"); 

$sql = "INSERT INTO posts (txt) values ('$line')"; 
mysql_query($sql, $cn); 

?> 

kết quả của chèn là một ? ký tự

Tôi chắc chắn có những người đã thực hiện việc này, nhưng tôi thực sự gặp sự cố khi làm đúng.

chỉnh sửa: đối chiếu

bảng của MySQL và mã hóa lĩnh vực cũng được thiết lập để utf8_unicode_ci

Trả lời

3

Tôi tin rằng bạn phải làm: SET NAMES utf8 như truy vấn đầu tiên của bạn.

+0

ahhhhhh .... cảm ơn bạn rất nhiều. điều này đã giết tôi trong nhiều giờ: D –

+0

hmm nó không phải là một lý do. SET CHARACTER SET thực hiện tương tự như SET NAMES. Và nó vẫn còn trước khi thực hiện truy vấn. @ Alex hiện nó thực sự slove vấn đề của bạn? –

+0

yeah nó chắc chắn đã làm! (tôi đã bỏ phiếu cho dấu kiểm màu xanh lá cây sớm hơn nhưng ngăn xếp có sự chậm trễ khi chấp nhận câu trả lời) Có thể đó là việc cần làm với phiên bản/cài đặt/v.v ... trên máy chủ. –

Các vấn đề liên quan