Hoàn toàn đơn giản: utf8_encode ($ string) thay thế các khoảng trắng thông thường bằng dấu cách ("\ u00a0"). Tôi đã thử lọc kết quả bằng str_replace:PHP utf8_encode() chuyển đổi khoảng trống thành các khoảng trống không phá vỡ
str_replace("\u00a0", " ", utf8_encode($string))
Nhưng điều đó không khắc phục được.
EDIT: Sigh, tôi là đồ ngốc. Nó cũng không phải là vấn đề với utf8_encode(). Tôi nghĩ rằng tôi đã sử dụng chức năng đó, quên tôi vô hiệu hóa nó trong mã của tôi. Dữ liệu của tôi đang được chạy qua json_encode() cho một yêu cầu AJAX. Đây có phải là vấn đề với json_encode() không? Tôi lo lắng tôi có thể có tội lạm dụng Stack Overflow. Tôi sẽ thử Googling nó.
EDIT cuối cùng: Sự cố xảy ra với chính dữ liệu được sao chép từ tài liệu Word vào bảng MySQL. Tất cả các không gian được sao chép như không gian không phá vỡ. Xin lỗi vì đã lãng phí thời gian của mọi người.
Câu hỏi đặt ra này hạnh phúc, làm thế nào tôi có thể nhận được không gian thường xuyên của tôi trở lại? –
Nếu chuỗi được mã hóa UTF-8, bạn phải thay thế chuỗi đơn vị mã tương ứng thay vì giá trị của giá trị mã. –
Đầu vào của bạn là gì? 0xA0 là không gian không phá vỡ trong ISO 8859-1. –