힌디어 텍스트를 MySQL 데이터베이스에 저장하고 PHP 스크립트를 사용하여 가져 와서 웹 페이지에 표시해야합니다. 다음 작업을 수행했습니다.PHP와 MySQL을 사용하여 유니 코드 문자열 (हिन्दी) 저장 및 표시
데이터베이스를 만들고 인코딩을 UTF-8로 설정하고 데이터 정렬을 utf8_bin
으로 설정했습니다. 테이블에 varchar 필드를 추가하고 charset 속성에서 UTF-8 텍스트를 허용하도록 설정했습니다.
그런 다음 데이터를 추가하는 방법을 설정했습니다. 여기에 existing site의 데이터를 복사해야했습니다. 힌디어 텍스트는 다음과 같습니다. सूर्योदय : 05 : 30
이 텍스트를 데이터베이스에 직접 복사하고 PHP 코드 echo(utf8_encode($string))
을 사용하여 데이터를 표시했습니다. 이렇게하면 브라우저가 나에게 "??????"라고 표시했습니다.
그러나 브라우저에서 "소스보기"로 이동하여 텍스트에 해당하는 UTF를 삽입하면 सूर्योदय는 सूर्योदय
으로 변환됩니다.
데이터베이스에 सूर्योदय
을 입력하여 저장하면 완벽하게 변환됩니다.
그래서 내가 알고 싶은 것은 내 데이터베이스에 सूर्योदय를 직접 저장할 수 있고 그것을 가져 와서 PHP를 사용하여 내 웹 페이지에 표시하는 방법입니다.
또한, 아무도 날 ू र ् य ो यय을 입력 할 때 सूर्योदय
을 입력하는 스크립트가 있는지 이해할 수 있습니까?
솔루션은 내가 나를 위해 일한 다음 예제 스크립트를 작성
발견. 이 힌디어 UTF 문자열을 저장하는 내 데이터베이스 너무 다른
<html>
<head>
<title>Hindi</title></head>
<body>
<?php
include("connection.php"); //simple connection setting
$result = mysql_query("SET NAMES utf8"); //the main trick
$cmd = "select * from hindi";
$result = mysql_query($cmd);
while ($myrow = mysql_fetch_row($result))
{
echo ($myrow[0]);
}
?>
</body>
</html>
덤프 누군가를하는 데 도움이
CREATE TABLE `hindi` (
`data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `hindi` VALUES ('सूर्योदय');
지금 내 질문은, 어떻게 "META"을 지정하지 않고 일을하거나 정보를 헤더 않았다입니다 희망?
감사합니다.
또한 : http://stackoverflow.com/questions/1085093/strategy-for-supporting-unicode-multi-language-in-php5/ – deceze
"이름 UTF8 설정"나를 위해 속임수를 썼는지! 감사합니다 –
헤더를 설정하지 않고도 왜 작동 했습니까? –