1. Trang chủ
  2. » Công Nghệ Thông Tin

Tiếng việt trong PHP doc

6 598 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 325,25 KB

Nội dung

BƯỚC 1: THIẾT LẬP CHARSET SANG UTF-8 TRONG HEAD BƯỚC 2: TẠO DATABASE Dĩ nhiên nếu muốn dữ liệu của bạn lưu trữ unicode thì khi tạo ra CSDL các bạn phải Khi bạn tạo ra CSDL hoặc các bảng

Trang 1

BƯỚC 1: THIẾT LẬP CHARSET SANG UTF-8 TRONG HEAD

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

BƯỚC 2: TẠO DATABASE

Dĩ nhiên nếu muốn dữ liệu của bạn lưu trữ unicode thì khi tạo ra CSDL các bạn phải

Khi bạn tạo ra CSDL hoặc các bảng trong CSDL, nhớ thiết lập Collation là utf8_unicode_ci

BƯỚC 3: KHỞI TẠO DATABASE

Bước này được thực hiện trước khi bạn kết nối với CSDL, bạn có thể thêm các hàng sau:

<?php

define('HOSTNAME', 'localhost');

define('USERNAME', 'database_user_name');

define('PASSWORD', 'database_password');

define('DATABASE', 'database_name');

$dbLink = mysql_connect(HOSTNAME, USERNAME, PASSWORD);

mysql_query("SET character_set_results=utf8", $dbLink);

mb_language('uni');

mb_internal_encoding('UTF-8');

mysql_select_db(DATABASE, $dbLink);

mysql_query("set names 'utf8'",$dbLink);

?>

Tại sao phải thêm các hàng này? Bởi vì bạn cho CSDL biết, loại dữ liệu đưa bạn sẽ làm việc thuộc loại nào

BƯỚC 4: THÊM DỮ LIỆU VÀO CSDL

<?php

mysql_query("SET character_set_client=utf8", $dbLink);

mysql_query("SET character_set_connection=utf8", $dbLink);

$sql_query = "INSERT INTO

TABLE_NAME(field_name_one, field_name_two)

VALUES('field_value_one', 'field_value_two')";

mysql_query($sql_query, $dbLink);

?>

BƯỚC 5: CẬP NHẬT

<?php

mysql_query("SET character_set_client=utf8", $dbLink);

mysql_query("SET character_set_connection=utf8", $dbLink);

$sql_query = "UPDATE TABLE_NAME

SET field_name_one='field_value_one', field_name_two='field_value_two'

WHERE id='$id'; ";

mysql_query($sql_query, $dbLink);

?>

Trang 2

BƯỚC 6: TÌM KIẾM TRONG CSDL

<?php

mysql_query("SET character_set_results=utf8", $dbLink);

$sql_query = "SELECT * FROM TABLE_NAME WHERE id='$id'; ";

$dbResult = mysql_query( $sql_query, $dbLink);

?>

Với cách làm này các bạn có thể thể hiện các ngôn ngữ khác (Hindi, Chinese, French, German, Spanish, Russian, Arabian (Arabic), Urdu )trên trang web của mình

Khi chuyển database MySQL từ phiên bản 3.x lên 4.1 trở đi bạn sẽ gặp vấn đề với mã font Unicode,

để khắc phục tình trạng này bạn có thể làm theo hướng dẫn sau:

1 Import database vào MySQL 4.1 – 5.0.x:

Khi import file database là dạng mã unicode (File sql của bạn phải chắc chắn là định dạng unicode utf8) vào MySQL 4.1 trở lên trước tiên bạn vào phpMyAdmin tạo database với Collation của Charset là định dạng utf8 chẳng hạn chọn utf8_general_ci sau đó click Create như hình sau:

Sau khi tạo xong bạn click chọn SQL để import database:

Trang 3

Tới đây bạn Browse file database của bạn chú ý muc Character set of the file phải để là utf8 click Go

để kết thúc import

Bây giờ bạn có thể xem tiếng việt thể hiện trong phpMyAdmin đúng theo đinh dạng unicode utf8

Trang 4

2 Hiển thị unicode utf8 trên web PHP:

Tuy ở trên bạn đã import và hiển thị đúng với định dạng unicode utf8 tuy nhiên khi bạn chay một số ứng dụng web PHP của bạn sẽ vẫn gặp lỗi hiển thị unicode như sau (font unicode bị hiển thị thành dấu ? và ô vuông):

Trang 5

Để khắc phục vấn đề này MySQL cung cấp cho bạn một câu truy vấn SET NAMES ‘utf8′ , Trong php sau câu truy vấn kết nối database bạn thực hiện thêm một câu truy vấn như đoạn code sau:

Ví dụ:

PHP Code:

<?

$dbhost =”localhost”;

$dbname =”mediaonline “;

$dbuser =”chilinhnet”;

$dbpass =”chilinh”;

$db =mysql_connect(“$dbhost”,”$dbuser”,”$dbpass”) or die(“Die connect: “.mysql_error());

mysql_select_db(“$dbname”) or die(“Die select database: “.mysql_error());

mysql_query(“SET NAMES ‘utf8′”, $db);

?>

Bây giờ thì bạn hoàn toàn yên tâm với việc thể hiện tiếng việt Unicode utf8 100% trên website PHP:

Trang 6

Chú ý: Đối với một số hosting không cho phép bạn tạo Collation Charset khi tạo database mới từ

phpMyAdmin (thường là các phiên bản phpMyAdmin cũ) bạn cũng có thể làm theo cách sau:

Bạn vẫn tạo database và import database bình thường (Mặc định những hosting đó sẽ cấu hình MySQL là Latin1), trong trường hợp có những tùy chọn Chatset bạn cũng phải chọn là Latin1 Lúc này trong phpMyAdmin bạn sẽ không thấy hiển thị tiếng việt Unicode utf8 bởi vì phpMyAdmin đã gắn đoạn code SET NAMES ‘utf8′, tuy nhiên khi browse web site php của bạn sẽ hiển thị đúng tất nhiên là bạn không được phép sử dụng đoạn code SET NAMES ‘utf8′ trong mã lên của bạn khi dùng cách import này

Ngày đăng: 01/08/2014, 17:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w