10/10/2018, 13:35
Xin chỉ giúp cách hiển thị tiếng Việt trong PHP và MySQL
Xin chỉ giúp cách hiển thị tiếng Việt trong PHP và MySQL
Tôi dùng PHPv5.2.2,MySQL v5.0.45,PhpMyAdmin v2.10.3.Tất cả chạy trên IIS6 hay Apache đều chạy tốt.Nhưng khổ nổi một điều là khi nhập dữ liệu trên MySQL hiển thị tiếng Việt rất tốt nhưng khi vào trình duyệt gõ trang mà tôi đã tạo VD như index.php chẳng hạn ,thì những thông tin nào tạo trên MySQL(tôi sử dụng PhpMyAdmin để quản lý MySQL ) không hiển thị được tiếng việt trên trang index.php(chỉ thông tin tạo trên MySQL thôi còn phần khác vẫn hiển thị tốt tiếng việt).Khi gỏ tiếng việt đều chọn bảng mã unicode.Mặc dù tôi đã làm mọi cách như tạo và chỉnh trong index.php,php.ini …chẳng hạn.
Trong file index.php
<?php
…..
…..
$conn=@mysql_connect($db_server,$db_username,$db_p assword)
or die(mysql_error());
mysql_select_db($db_name);
include "include/header.php";
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
…….
……..
<?
……
…….
?>
Trong file header.php:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
…..
….
<?
….
….
?>
Trong file php.ini:
Đã bỏ dấu “;” trước các đoạn và tạo như sau
“……
……
default_mimetype = "text/html"
default_charset = "utf-8"
……
……”
Tôi dùng PHPv5.2.2,MySQL v5.0.45,PhpMyAdmin v2.10.3.Tất cả chạy trên IIS6 hay Apache đều chạy tốt.Nhưng khổ nổi một điều là khi nhập dữ liệu trên MySQL hiển thị tiếng Việt rất tốt nhưng khi vào trình duyệt gõ trang mà tôi đã tạo VD như index.php chẳng hạn ,thì những thông tin nào tạo trên MySQL(tôi sử dụng PhpMyAdmin để quản lý MySQL ) không hiển thị được tiếng việt trên trang index.php(chỉ thông tin tạo trên MySQL thôi còn phần khác vẫn hiển thị tốt tiếng việt).Khi gỏ tiếng việt đều chọn bảng mã unicode.Mặc dù tôi đã làm mọi cách như tạo và chỉnh trong index.php,php.ini …chẳng hạn.
Trong file index.php
<?php
…..
…..
$conn=@mysql_connect($db_server,$db_username,$db_p assword)
or die(mysql_error());
mysql_select_db($db_name);
include "include/header.php";
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
…….
……..
<?
……
…….
?>
Trong file header.php:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
…..
….
<?
….
….
?>
Trong file php.ini:
Đã bỏ dấu “;” trước các đoạn và tạo như sau
“……
……
default_mimetype = "text/html"
default_charset = "utf-8"
……
……”
Bài liên quan
“……
……
default_mimetype = "text/html"
default_charset = "utf-8"
……
……”
Thì tạo 1 table mới mặc định trong MySQl đều hiển thị Font UTF-8 nên không cần phải chỉnh gì lại trong MySQL,còn nếu không làm như vậy thì nó sẻ hiện là Latin
Tui ít dùng PHPMyAdmin để add dữ liệu , mà tạo 1 trang php có các form để điền nội dung , khi submit sẽ kết nối DB và chạy query INSERT INTO đã được định sẵn ... trang php đó cần phải có charset là utf-8 , khi thêm dữ liệu có thể ghi bằng tiếng Việt Unicode ...
Mình có coi trong các file *.php hay index.php trong thư mục PhpMyAdmin nó có dòng này:
……
meta http-equiv="Content-Type"
content="text/html; charset=<?php echo $GLOBALS['charset']; ?>
…….
Mình nghĩ là dòng “định biến” $GLOBALS['charset'] có thể dùng nó để chuyển đổi font nằm ở chổ nào mà mình tìm không ra và nếu có thì chuyển bằng cách nào,có thể thôi chứ mình không dám chắc lắm.
Mình có upload thư mục PhpMyAdmin lên để các bạn lấy về coi thử.
http://www.box.net/shared/hm6bdg6kxs
Tôi thấy làm vậy là hết bị lỗi