Vážený EBAG, máme jedinou arabštinu zablokovat v Unicode který obsahuje arabštinu i perštinu znaky.
06CC je perština ی a 064A je arabština ي
Výchozí klávesnice systému Windows používá code page 1256 pro arabské znaky, které uvádějí 064A jako výchozí ي pro perské i arabské uživatele, protože arabští uživatelé jsou mnohem více než perští.
ISIRI vytvořit standardní klávesnici ISIRI 9147 a vložte arabštinu i perštinu Yeh na něm ale Perisan ی je výchozí znaky. Perští uživatelé, kteří používají standardní klávesnici, vloží (a používají) standardní perštinu ی while the rest of them use arabic ي`.
Jak jste obvykle řekli, když ukládáme data do databáze, měníme arabské ي do perštiny ی a když z toho čteme, jdeme na perštinu, takže všechno je pravda.
druhým přístupem je použití souboru JavaScript ve webové aplikaci pro řízení vstupu uživatele. většina perských webů používá tento přístup k ukládání znaků do databáze. Při této metodě uživatel nemusí instalovat žádné rozložení klávesnice pro perskou nebo arabskou klávesnici. Prostě dal klávesnici na English a poté v JavaScript vývojář souboru zkontroluje, který znak je pro něj ekvivalentní. Zde
můžete najít ISIRI 9147 javascript pro webovou aplikaci a perský průvodce k jejímu použití.
Třetím přístupem je použití klávesnice na obrazovce, která funguje stejně jako předchozí s uživatelským rozhraním a je obvykle vhodná pro ty, kteří neznají perskou klávesnici.
Čtvrtým přístupem je hledání v obou dialektech. Jak víte, když si nainstalujete MySql nebo SQL Server můžete nastavit collation a také máte možnost podporovat dialekt (a rozlišování malých a velkých písmen). pokud povolíte řazení arabštiny s dialektem, můžete získat výsledky pro oba a obvykle to funguje dobře na sql server Netestuji to v MySql . Toto je zatím nejlepší řešení.
ale kdybych byl vámi, implementoval bych jednoduchou sql function které získají nvarchar a vrátí nvarchar . pak to volám, když jsem chtěl zapisovat data. a kdykoli si budete chtít číst, můžete si vybrat standardní.
Omlouvám se za dlouhý ocas.