2014-04-22 2 views
0

저는 PHP에서 약간 새로운 것입니다. 내 새 웹 사이트에 http://www.sanwebe.com/2013/03/loading-more-results-from-database 솔루션을 구현했습니다. http://do2go.pl/do2go-nowa/

인코딩은 예외입니다. 내 DB와 모든 것들은 UTF8에 있습니다. DB UTF8에서 데이터를 가져 오는 것이 작동하지 않는 것처럼 보입니다.

Heres는 구성 및 패치 코드 :

구성 :

<?php 
$db_username = 'kamio2_do2gonowa'; 
$db_password = 'JeremiasZ1!'; 
$db_name = 'kamio2_do2gonowa'; 
$db_host = 'localhost'; 
$item_per_page = 2; 
mysqli_query ("SET NAMES 'utf8'"); mysqli_set_charset('utf8'); 


$connecDB = mysqli_connect($db_host, $db_username, $db_password,$db_name) or die('could not connect to database'); 


?> 

그리고 가져 오기 :

<?php 
include("config.inc.php"); //include config file 
//sanitize post value 
$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH); 
header('Content-Type: text/html; charset=UTF-8'); 

//throw HTTP error if page number is not valid 
if(!is_numeric($page_number)){ 
    header('HTTP/1.1 500 Invalid page number!'); 
    exit(); 
} 

//get current starting point of records 
$position = ($page_number * $item_per_page); 

//Limit our results within a specified range. 
$results = mysqli_query($connecDB, "SELECT id,introtext FROM w7wst_content ORDER BY id DESC LIMIT $position, $item_per_page"); 

//output results from database 

echo '<ul class="page_result">'; 
while($row = mysqli_fetch_array($results)) 
{ 
    echo '<li id="item_'.$row["id"].'"><span class="page_message">'.$row["introtext"].'</span></li>'; 
} 
echo '</ul>'; 

?> 

나는 mysql_query ("SET NAMES 'utf8'"); mysql_set_charset('utf8'); 추가 그러나 이것은 아무것도하지 않습니다. 여전히 기호를 받고? 대신 해결하지 않은 모든 다음 3는 HTML 기호에 대한 DB 테이블에 직접 변경되었습니다 "의.

어떤 도움 감사합니다! :) 제대로 테이블에 저장되어있는 경우

+0

$results = mysqli_query($connecDB... 전에

추가 (이것은 OP의 문제에 대한 해결책 이후, 질문을 닫으려면); mysql_set_charset ('utf8');'MySQL API를 혼합하지 마십시오. mysqli_query ("SET NAMES 'utf8'");로 변경하십시오. mysqli_set_charset ('utf8'); ' –

+0

이미했는데, 고마워. 하지만 여전히 작동하지 않습니다. – user3561524

+0

내부에''을 추가하고 파일이 UTF-8로 저장되는지 확인해보십시오. –

답변

1

이 ("NAMES 'UTF8을'SET ')'는 mysql_query를 실패합니다 $connecDB->set_charset("utf8"); 단지

0

당신은 확인 했나? 입력을 시도 이 (안 PHP에서) 데이터베이스의 :...

SELECT * FROM w7wst_content; 

하고 제대로 표시 않다면 다른 방법으로는 phpMyAdmin과 같은 몇 가지 도구를 사용하여 테이블 내용을 확인할 수 있습니다 당신이 utf8_general_ci 같은 것으로 정렬을 설정할 필요가 없습니다 있다면 참조

EDI T : 또한 데이터베이스에 연결 한 후 charset을 설정하는 방법은 무엇입니까? hm? :)

+0

해당 테이블은 Joomla! 3 콘텐츠 구성 요소 및이 외부에서 올바르게 작동하는 데 사용됩니다 (utf8_general_ci). 스크립트. – user3561524

+0

내 대답을 편집했습니다. – Terax

0

하나의 스크립트에서 mysql과 mysqli를 사용하고 있습니다. mysql은 더 이상 사용되지 않으므로 mysqli 만 사용하십시오. 그게 시도 :

mysqli_character_set_name($connectDB); 
mysqli_set_char_set($connectDB, 'UTF8'); 

연결 스크립트 후에 설정하십시오.

+0

가 mysqli로 바뀌 었습니다 - 효과가 없습니다 : ( – user3561524

+0

변경된 사항을 볼 수 있도록 업데이트 한 현재 코드로 게시물을 편집 할 수 있습니까? – Andy

+0

배치 한 두 개의 문자 세트 스크립트를 제거하고 연결 스크립트 이후에 위의 두 문자 세트로 대체하십시오. 시도해 봐. mysqli_query ("SET Name") 등을 사용하지 마십시오. – Andy

관련 문제