Wednesday, July 25, 2007

Lỗi tiếng Việt có thể do những nguyên nhân nào?

Rất nhiều bạn sau khi cài đặt Joomla! phiên bản 1.0.x nhận thấy Website của mình bị lỗi Tiếng Việt. Có thể là lỗi một phần (tại một số chỗ trên menu, một số chỗ trên tiêu đề bài viết, trong phần nội dung...) hoặc lỗi toàn bộ. Có thể là Website hiện toàn dấu hỏi chấm (???) hoặc nội dung bị biến thành các ký tự lạ như "Lá»—i tiếng Việt có thể do những nguyên nhân nà o". Xin giới thiệu với các bạn một số nguyên nhân và cách xử lý:

0. Nguyên nhân chính

Joomla 1.0.x không hỗ trợ hoàn toàn cho UTF-8 (vấn đề này chỉ được giải quyết triệt để trong Joomla 1.5), tuy nhiên bạn không nên quá lo lắng vì chúng ta có nhiều cách để vượt qua được khó khăn này.

1. Do database

  • Bạn cần kiểm tra phiên bản MySQL (tối thiểu: 4.1.x)
  • Khi tạo database cần chọn "MySQL connection collation": utf8_general_ci

2. Do file ngôn ngữ trong thư mục "Joomla\languages\"

Kiểm tra tất cả các file ngôn ngữ nhưu: "english.php", "vietnamese.php", "vietnam.php"...

Tìm biến _ISO và thay bằng giá trị như dưới đây

/** templates/*.php */
DEFINE('_ISO','charset=utf-8');

3. Do file "index.php" trong thư mục templates

Bạn cần vào file \templates\{your_template}\index.php:

Nếu đã có dòng:

"Content-Type" content="text/html;" />

thì phải chắc chắn rằng dòng định nghĩa biến ISO trong file ngôn ngữ language\xxx.php phải là

DEFINE('_ISO','charset=utf-8');

Nếu có dòng:

"Content-Type" content="text/html; charset=xxx" />

thì phải chắc là có charset=utf-8, nếu là ISO_xxx hãy đổi lại thành utf-8

4. Do file ".css" trong thư mục templates

Kiểm tra chỗ khai báo font-family xem có phải là các font UNICODE hay không.

VD:

font-family: Arial, Helvetica, sans-serif;
font-family: "Times New Roman", Times, serif;
font-family: "Courier New", Courier, monospace;
font-family: Verdana, Arial, Helvetica, sans-serif;

5. Một cách xử lý khác

Chèn thêm đoạn mã sau vào file "index.php"

ini_set('default_charset', 'utf-8');

Tham khảo thêm:

No comments:

3 site auto đào Bitcoin miễn phí 0.0006BTC mỗi ngày

Bitcoin  (BTC) hiện nay là đồng tiền ảo đắc giá nhất hiện nay và cụm từ “đào Bitcoin” cũng không xa lạ với chúng ta, không ít bạn đầu tư nhi...