php - Tại sao các ký tự ascii mở rộng (â, é, v.v.) này được thay thế bằng ký tự này?
In lạiTác giả: Hồ XilThời gian cập nhật: 2023-10-31 23:51:50264
Tại sao các ký tự ascii mở rộng (â, é, v.v.) được thay thế bằng
tính cách?
Tôi đã đính kèm một hình ảnh...nhưng tôi đang sử dụng PHP để trích xuất dữ liệu từ MySQL và nó có các ký tự mở rộng ở một số chỗ...Tôi đang sử dụng phông chữ Arial.
Sau gợi ý, nó vẫn xảy ra, đây là những gì tôi đã làm:
Sau khi thêm dòng đó, firefox của tôi (Xem -> Mã hóa) được đặt thành UTF-8, tuy nhiên, văn bản bên trong thẻ tùy chọn vẫn hiển thị các ký tự hài hước thay vì các ký tự có dấu thực tế. Tôi nên tìm gì bây giờ?
gia hạn:Tôi có những điều sau đây trong chương trình PHP mang lại cho tôi những điều đó
tính cách...
ini_set( 'default_charset', 'UTF-8' );
Sau khi tạo đối tượng zend db, tôi thiết lập truy vấn sau:
$db->query("THIẾT LẬP TÊN utf8;");
Tôi đã thay đổi tất cả các bảng thành UTF-8 và chèn lại tất cả dữ liệu (lãng phí thời gian) vì nó chẳng giúp ích gì cả. Trước đây nó là latin1.
Ngoài ra còn có báo cáo TÌNH TRẠNG:
Kết nối: Localhost qua ổ cắm UNIX Bộ ký tự máy chủ: latin1 Bộ ký tự Db: latin1 Bộ ký tự khách hàng: utf8 Bộ ký tự kết nối: utf8 Ổ cắm UNIX: /var/run/mysqld/mysqld.sock Thời gian hoạt động: 4 ngày 20 giờ 59 phút 41 giây
Nhìn vào mã nguồn của trang là tôi hiểu rồi
Được rồi - Cập nhật mới -Tôi đã thay đổi mọi thứ trong PHP và HTML thành:
Bây giờ nó hoạt động, tại sao? Làm cách nào tôi có thể chuyển đổi tất cả sang UTF-8?
câu trả lời hay nhất
Đây là những gì trình duyệt thực hiện khi nó không biết mã hóa được sử dụng cho một ký tự. Đảm bảo chỉ định loại mã hóa của văn bản được gửi tới ứng dụng khách trong meta tiêu đề hoặc thẻ.
Trong HTML:
Trong PHP (trước khi bất kỳ thứ gì khác được gửi tới máy khách):
header('Content-Type: text/html; charset=utf-8');
Tôi giả sử bạn muốn mã hóa UTF-8. Nếu trang web của bạn sử dụng mã hóa văn bản khác, bạn nên thay thế UTF-8 bằng mã hóa bạn đang sử dụng.
Một điều cần lưu ý khi sử dụng HTML để chỉ định mã hóa là khi trình duyệt nhìn thấy Loại nội dung Sau đó, trang sẽ bắt đầu hiển thị lại. thẻ meta, vì vậy bạn nên bao gồm Theo dõi chặt chẽ <đầu>đầu> Thẻ sau khi thêm đánh dấu vào trang của bạn để trình duyệt không thực hiện nhiều quá trình xử lý hơn mức cần thiết.
Một bộ ký tự phổ biến khác là "iso-8859-1" (tiếng Latin cơ bản), bạn có thể muốn sử dụng thay vì UTF-8. Bạn có thể tìm hiểu từ bài viết này về mã hóa ký tự và web Tìm thêm chi tiết trong bài viết tuyệt vời này. .Bạn cũng có thể nhận được thông tin chi tiết danh sách mã hóa ký tự ở đâyNếu bạn cần một loại cụ thể.
Nếu vẫn thất bại, một khả năng khác (hiếm) là máy tính của bạn có thể không cài đặt phông chữ với các ký tự cần thiết để hiển thị trang. tôi đã cố gắng lặp lại kết quả của bạn trên máy chủ của riêng tôiKhông may mắn, có lẽ vì tôi đã cài đặt quá nhiều phông chữ trên máy nên trình duyệt luôn có thể thay thế các ký tự không có sẵn trong phông chữ này bằng phông chữ khác.
Tôi đã nhận thấy khi điều tra sâu hơn rằng các ký tự Unicode có thể được hiển thị bất ngờ nếu văn bản được gửi có mã hóa khác với mã hóa mà trình duyệt báo cáo. Để giải quyết vấn đề này tôi đã sử dụng Biểu diễn thực thể ký tự HTMLký tự đặc biệt, vì vậy Mộttrở nên âTrong HTML của tôi và étrở nên é .Sau khi thực hiện việc này, các ký tự của tôi hiển thị chính xác bất kể tôi báo cáo bằng mã hóa nào.
Rõ ràng, bạn không muốn sửa đổi cơ sở dữ liệu để sử dụng các ký tự Unicode được mã hóa HTML. Nếu bạn phải làm điều này, lựa chọn tốt nhất của bạn là sử dụng hàm PHP htmlentities() .Bạn nên sử dụng chức năng này trên bất kỳ văn bản điều khiển dữ liệu nào mà bạn muốn chứa các ký tự Unicode. Việc này có thể gây khó chịu nhưng đây là biện pháp cuối cùng để buộc các ký tự Unicode hoạt động nếu việc chỉ định mã hóa không có tác dụng.
Về php - tại sao các ký tự ascii mở rộng (â, é, v.v.) này được thay thế bằng các ký tự >? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/1028449/
Tôi muốn thực hiện tìm kiếm và thay thế trên một chuỗi, chẳng hạn như mật khẩu. Như bạn đã biết từ câu hỏi, chuỗi được thay thế sẽ trở thành sdvvzrug. Nhưng thật không may, đoạn mã sau xuất ra bbbbcaab: $search = ran
Tôi đang sử dụng futurize --stage2 áp dụng một số chuyển đổi mã nguồn để làm cho mã python2 và python3 tương thích. Một trong những cách khắc phục là thay thế tất cả các phân vùng a/b bằng old_div(a/b), tôi muốn tránh điều này
Tôi đang sử dụng RStudio nhưng đầu ra trên bảng điều khiển của tôi bị cắt bớt. Tôi không thể tìm cách ngừng cắt ngắn (tôi đã thử tìm kiếm ?options và tìm kiếm trên Google lâu hơn mức tôi muốn thừa nhận). EDIT: Tôi xin lỗi! Tên dài ban đầu của tôi là "Đây
Tôi đang chèn một số chuỗi vào một mảng, nhưng trước khi làm điều đó tôi muốn làm theo những gì chủ đề nói. Để chỉ thay thế khoảng trắng bằng %20, tôi làm điều này: Name.push(linkText.replace(" ", "%20"));
Tôi đang cố gắng biên dịch và kiểm tra mã mà tôi đã thấy trực tuyến Mở rộng địa chỉ IP. Tuy nhiên, khi tôi cố gắng biên dịch nó, tôi gặp lỗi về phương thức thay thế StringBuilder. Nó nói: IPadd.java:52:
Tôi đang cố gắng viết lại một phần mã của mình bằng các tính năng mới nhất của dplyr bằng cách thay thế data.frame() bằng data_frame() và cbind() bằng bind_cols():
Tôi đang tự hỏi làm cách nào để thực hiện thay thế trong một tham số nhất định. Nếu bạn có một dòng như thế này: 123,Xin chào,Thế giới,(Tôi ở đây), không xác định và bạn muốn thay thế Thế giới bằng Foobar thì đó là một nhiệm vụ đơn giản
Làm thế nào để thoát khỏi dấu ngoặc kép trong một chuỗi? Ví dụ: đầu vào: "Không ai" đầu ra: \"Không ai\" Tôi đã thử một cái gì đó như thế này nhưng nó không hoạt động: String name = "Nobody";
Tôi đang cố gắng thay thế tất cả " bằng \" và phân tích chuỗi bằng JSON nhưng trình duyệt đưa ra lỗi SyntaxError: JSON Parse error: Unrecognized token '\' Dưới đây là mã.
Xin chào mọi người, đang gặp khó khăn ở đây... Có thể thay thế bất cứ thứ gì giữa dấu gạch chéo lên đầu tiên bằng "" nhưng giữ phần còn lại không? Ví dụ var sẽ là chuỗi "/anything-here-this-needs-to-be-re
Trong mã bên dưới, cảnh báo (a) trong hàm thay thế JavaScript sẽ cảnh báo về các chuỗi khớp, trong trường hợp này sẽ là {name} và {place}. Điều này hoạt động như được mô tả trong tài liệu tài liệu javascript, tức là.
Được rồi, trước hết tôi thực sự xin lỗi vì bài đăng cuối cùng của mình, nhưng tôi thực sự cần trợ giúp và tôi sẽ đưa những gì tôi thực sự muốn vào một mã rõ ràng hơn. Mình không giỏi javascript nên mong bạn giúp đỡ.
Tôi đang viết một ghi chú và gặp phải rào cản. Có thể có cách hiệu quả hơn để thực hiện việc này nhưng tôi khá mới với Python. Tôi đang cố gắng tạo danh sách địa chỉ IP do người dùng tạo. Tôi đang sử dụng bản in để xem các giá trị được tạo có chính xác không. khi tôi chạy mã này
Tôi là một lập trình viên xuất sắc, rất giỏi!