我正在研究一個基於PHP的web應用程序,該應用程序有一個現有的MySQL數據庫,其中所有文本列都使用latin1編碼,但它們中包含utf8數據。使用Solr索引包含utf8數據的latin1列
這適用於PHP應用程序,它使用latin1編碼爲數據庫連接來檢索數據,然後直接輸出到瀏覽器,告訴瀏覽器頁面是utf8。
但是,我們現在嘗試使用Solr來使用MySQL JDBC連接器對數據庫建立索引,並且我們在索引中獲取了亂碼字。
這裏是連接字符串:
<dataSource
url="jdbc:mysql://localhost/db_name?characterEncoding=latin1&characterSetResults=utf8"
user="user" password="password" />
有沒有辦法讓Solr的檢索數據作爲latin1的,然後把它當作UTF8無需轉換呢?我試着改變JDBC連接字符串中的characterEncoding和characterSetResults參數,但無濟於事。
我確定解決這個問題的正確方法是將所有文本列轉換爲utf8,但我不想走那條路線(因爲它會打破webapp)。