2009-05-06 23 views
7

Tôi tự hỏi làm thế nào bạn làm sạch các ký tự đặc biệt mà MS Word như, chẳng hạn như m- và n-dấu gạch ngang và dấu ngoặc kép?Làm thế nào để bạn đối phó với các ký tự "đặc biệt" mà MS Word thêm?

Tôi thường thấy mình sao chép nội dung từ khách hàng từ Word và dán vào trang HTML tĩnh, nhưng nội dung kết thúc bằng ký tự lạ vì các ký tự đặc biệt không được chuyển đổi thành mã ACSII chính xác của chúng và do đó hiển thị dưới dạng văn bản bị cắt xén. (Đối với các trang web cơ bản này, tôi đang sử dụng Dreamweaver.)

Tôi đã thấy rất nhiều vấn đề tương tự khi khách hàng sao chép nội dung từ Word vào trường văn bản chỉ (chủ yếu là văn bản). Khi tôi đặt nó vào một PDF (thông qua PHP) hoặc nó hiển thị trên trang nó cũng đã bị cắt xén văn bản.

Bạn giải quyết vấn đề này bằng cách nào? Có dịch vụ dọn dẹp hoặc chương trình bạn sử dụng không?

Trả lời

4

Chú ý chỉ định mã hóa ở mọi nơi và sử dụng UTF-8, khi đó các ký tự "đặc biệt" đó sẽ chỉ tồn tại tốt. Nhưng một khi chúng đã trải qua một mã hóa không thể đại diện cho chúng, thông tin mà ký tự ban đầu bị mất, vì vậy nó không thể sửa chữa được (trừ một số trường hợp cụ thể có thể rất phổ biến như chuyển đổi giữa Cp1252 và ISO- 8859-1).

+0

Đối với các trang HTML đặc biệt, mọi thứ đều là UTF8, do đó không phải là vấn đề. –

+0

Nếu các ký tự bị cắt xén, KHÔNG phải mọi thứ đều là UTF-8. Thủ phạm phổ biến là thuộc tính biểu mẫu chấp nhận biểu mẫu bị thiếu và một số trình duyệt web nhất định không giải thích chính xác. –

+0

Vâng, nếu bất kỳ trình duyệt nào không hiểu đúng, thì tôi sẽ nói nó không hoạt động. Đây là tài liệu của tôi, v.v.: Có điều gì đó không có sai không? –

2

Bạn có thể thử số Demoroniser.

+0

Dang, đó là tốt đẹp. Nếu không có ai đến với bất cứ điều gì tốt hơn, điều đó có thể chỉ hoạt động. –

+1

+1 chỉ dành cho tên. – Hippyjim

0

Nếu đó là tệp Word chỉ là văn bản (ví dụ: không có đồ họa, bảng, v.v.), bạn có thể thử Lưu dưới dạng HTML từ trong Word, sao chép/dán HTML kết quả vào tài liệu của bạn trong Dreamweaver và sau đó sử dụng Dreamweaver's Chức năng "Clean Up Word HTML" (trong menu Command).

Thay vào đó, bạn có thể thử fix my HTML, mặc dù tôi đã không đích thân thử nó với văn bản Word, vì vậy kết quả có thể thay đổi.

+0

Tôi đang cố gắng tìm một thứ gì đó không cần 5 bước để vào Dreamweaver và cũng sẽ rất tuyệt khi có thứ gì đó mà tôi có thể cung cấp cho khách hàng để làm sạch nội dung Word của họ. –

8

Liên quan đến khách hàng đăng sao chép/dán văn bản từ Word trong textareas:

Cách đáng tin cậy nhất để đảm bảo rằng khách hàng gửi cho bạn văn bản trong bất kỳ mã hóa đặc biệt (như vậy, hy vọng làm bất kỳ chuyển đổi từ CP-1252 [hoặc bất kỳ từ nào sử dụng] cho bạn), là thêm thuộc tính accept-charset="..." vào tất cả các số <form> của bạn. Ví dụ .:

<form ... accept-charset="UTF-8"> 
    ... 
</form> 

Hầu hết các trình duyệt sẽ vâng lời đó và chắc chắn rằng bất kỳ ký tự "Lời cụ thể" được chuyển đổi thành các ký tự thích hợp đặt trước nó được vào website của bạn. Khi văn bản không hợp lệ vào trang web của bạn, bạn có thể thực hiện rất ít để khắc phục nó một cách đáng tin cậy, vì vậy tốt nhất bạn nên kiểm tra tất cả đầu vào để hợp lệ trong bất kỳ bộ ký tự nào bạn sử dụng và loại bỏ bất kỳ yêu cầu nào có văn bản không hợp lệ. Điều này là cần thiết ngay cả với accept-charset, bởi vì chắc chắn có một số khách hàng ra khỏi đó sẽ bỏ qua nó.

5

Bạn có thể sử dụng chức năng preg_replace gọi để loại bỏ tất cả các ký tự đặc biệt của từ hoặc những người khác từ chuỗi của bạn

preg_replace('/[^\x00-\x7F]+/', '', $str); 
+1

điều này đã giúp tôi rất nhiều. Tôi cần phải loại bỏ ký tự đặc biệt đó vì khi đăng dữ liệu lên một ứng dụng khác, phần thứ ba nó chưa được thực hiện – kkatusic

1

Hãy chắc chắn rằng Lời được cấu hình để sử dụng UTF-8 cho "Save As .." HTML.

Đây là tùy chọn> Tùy chọn từ> Nâng cao> Tùy chọn web> Mã hóa

+0

Không thực sự là những gì tôi hỏi vì chúng không được lưu dưới dạng HTML từ Word (oh no!), Nhưng nó rất tốt biết tùy chọn này tồn tại. –

+0

Câu trả lời này vừa tiết kiệm cho tôi rất nhiều rắc rối. Không dễ dàng để tìm thấy tùy chọn đó ngay cả với hướng dẫn của bạn! –

+0

Trong phiên bản Word của tôi, bạn có thể tìm thấy tại: menu menu-> options-> advanced-> general section-> tùy chọn web button-> encoding tab-> lưu tài liệu này dưới dạng: –

Các vấn đề liên quan