PHP substr

Ernst
07. pro 2016 00:27 #129496
Když dám v php
substr(JText::_("Č"),0,1)
zkomolí mi to Č, protože to zabírá dvě místa. Jak to správně napsat?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
07. pro 2016 01:12 #129498
mb_substr nebo, jste v Joomle, tak vychytaná funkce je
JHtml::_('string.truncate', $html, $maxLength, $noSplit = true, $allowHtml = false);
	/**
	 * Truncates text blocks over the specified character limit and closes
	 * all open HTML tags. The method will optionally not truncate an individual
	 * word, it will find the first space that is within the limit and
	 * truncate at that point. This method is UTF-8 safe.
	 *
	 * @param   string   $text       The text to truncate.
	 * @param   integer  $length     The maximum length of the text.
	 * @param   boolean  $noSplit    Don't split a word if that is where the cutoff occurs (default: true).
	 * @param   boolean  $allowHtml  Allow HTML tags in the output, and close any open tags (default: true).
	 *
	 * @return  string   The truncated text.
	 *
	 * @since   1.6
	 */
Poděkovali: Ernst

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
07. pro 2016 15:04 #129499
díky mb_substr stačilo na to jsem zapomněl.
Ale narazil jsem na to, že K2 řadí položky (pokud je zadáno abecedně) špatně dle českých znaků.

"Č" a "C" bere jako jedno písmeno a řadí to tak že "Č" je zařazeno mezi "C" dle dalšího znaku a ne že by "Č" bylo až za všemi "C". viz třeba www.diochi.9e.cz/index.php?option=com_k2...y&id=149&Itemid=1007
Nevíte co s tím?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
07. pro 2016 15:36 #129500
Podívejte se, jestli máte v databázi u té tabulky řazení utf8_czech_ci.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
07. pro 2016 20:00 #129502
měl jsem tam utf8_general_ci dal jsem na utf8_czech_ci a výsledek stejný.
psal jsem ji na podporu a tam mi odepsali

Hello K2 uses mySQL's alphabetical ordering.
stackoverflow.com/questions/10446787/how-can-i-control-utf-8-ordering-in-mysql

The collation should be entered manually in the view. However this would be considered a hack and I would advise you to proceed with caution.

Ale to jsem vůbec nepochopil a snad to jde udělat i jednodušeji

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
08. pro 2016 13:01 #129512

ernst napsal: měl jsem tam utf8_general_ci dal jsem na utf8_czech_ci

"tam" znamená kde přesně? Má ta tabulka teď u toho sloupce kde jsou názvy collation utf8_czech_ci?
Poděkovali: Ernst

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
08. pro 2016 22:10 #129517
Ježiš Cony já jsem blbej, Já to dal k tabulce a ne ke sloupci. Díky za radu, te´d je to OK

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.