2014-09-09 3 views
2

내가 여기, 그래서 난 괜찮아 물어 추측 주변이 질문 브라우징에 대답 ...PHP와 MySQL의 특수 문자

내 PHP 코드 내 MySQL 데이터베이스에서 문자열 및 인쇄를 읽고 발견하지 않았습니다 코드

$sql2=mysql_query("SELECT * FROM Corsi WHERE Nome='$Ln_1[Ln_1]'"); 
$Ln_1_a = mysql_fetch_array($sql2); 
$Ln_1_descr = $Ln_1_a[5]; 

'è' 'à' 'ò'등 특수 문자는 ' '로 인쇄됩니다. My Mysql Encoding은 utf8이며 또한 내 html 헤더에 utf8 인코딩이 있으므로이 문제가 무엇입니까? 사전에

감사합니다 (로 mysql_connect 후)

답변

2

첫째 :

mysql_query('SET NAMES utf8'); 

그런 다음 확인, 당신의 페이지 인코딩 UTF-8을 (내가 그래서, 당신은 HTML을 사용하는 추측이있다

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

)과는 스크립트 파일이 UTF8 인코딩으로 저장해야합니다 :해야는 것 같습니다.

그러나 나는 mysql_* 기능이 사용되지 않으며 prepared statements 대신 mysqli_* 또는 PDO를 사용해야한다는 점을 기억해야합니다.

+0

정말 고마워요! 해결! – user3423076

+1

PDO를 +1하려면 mysql_을 사용하지 마십시오. –

1

봅니다 mysql_query('SET NAMES utf8')을한다. 그리고 글꼴이이 문자를 지원하는지 확인하십시오. 이 쿼리 놓아야 데이터베이스 선택 후 MySQL의 연결의 시작에서 모든

0

은 또한 MySQL의 구성 파일을 확인이

$Ln_1_descr = utf8_decode($Ln_1_a[5]); 
0

사용 htmlspecialchars($yourvariable, ENT_NOQUOTES, "UTF-8")

처럼 utf8_decode 기능을

를 사용하여 있습니다

[클라이언트] 기본 문자 집합 = UTF을 -8

[mysql] default-character-set = UTF-8

또한 utf8_encode() 및 utf8_decode()도 사용할 수 있습니다.